Sichqoncha (dasturlash tili) - Mouse (programming language)

The Sichqoncha dasturlash tili kichik kompyuter dasturlash tili 1970 yillarning oxiri va 80-yillarning boshlarida doktor Piter Grogono tomonidan ishlab chiqilgan.[1][2][3] Elektron musiqa studiyasida raqamli va analog qurilmalarni boshqarish uchun foydalanilgan MUSYS deb nomlangan avvalgi tilning kengaytmasi sifatida ishlab chiqilgan.

Sichqoncha dastlab kichik, samarali til sifatida yaratilgan mikrokompyuterlar cheklangan xotira bilan. Bu sharhlangan, suyakka -til asoslari va ishlatilishi Teskari Polsha yozuvlari. Tarjimonni amalga oshirishni iloji boricha osonroq qilish uchun Sichqoncha shunday tuzilganki, dastur biron bir belgini talqin qilib, belgi oqimi sifatida qayta ishlanadi.

Sichqoncha tilining elementlari har biri ma'lum bir funktsiyani bajaradigan (asosan) bir belgili belgilar to'plamidan iborat (quyidagi jadvalga qarang). O'zgaruvchan nomlar bitta belgi bilan cheklanganligi sababli, Sichqonchada atigi 26 o'zgaruvchi mavjud (A-Z nomi berilgan). Butun sonlar va belgilar mavjud bo'lgan yagona ma'lumotlar turlari.

Ushbu cheklovlarga qaramay, Sichqoncha bir qator nisbatan rivojlangan xususiyatlarni o'z ichiga oladi, jumladan:

  • Shartli dallanma
  • Ko'chadan
  • Ko'rsatkichlar
  • Makrolar (subroutines (rekursiv bo'lishi mumkin))
  • Massivlar
  • Kodni kuzatish

Sichqoncha tili dizayni uni oddiy tarjimonning dizaynini o'rgatish uchun ideal qiladi. Sichqonchani tasvirlaydigan kitobning katta qismi[3] ikkita tarjimonning bajarilishini tavsiflashga bag'ishlangan, ulardan biri Z80 assambleya tili, ikkinchisi Paskal.

Tafsilotlar

Bu erda tasvirlangan til Sichqoncha kitobida tasvirlanganidek, Sichqonchaning keyingi versiyasidir.[3] Ushbu versiya asl jurnal maqolasida tasvirlangan tilning kengaytmasi.[1]

Belgilar

Sichqoncha tomonidan ishlatiladigan har bir belgi quyidagi jadvalda keltirilgan.[3] Bu erda X stekning ustki qismidagi raqamga ishora qiladi, Y esa stackdagi keyingi raqam.

BelgilarAmal
<space>Amal yo'q
$Dastur tugashi
<number> ni stakka suring
+Qo'shish
-Chiqaring
*Ko'paytiring
/Butun sonni ajratish
Qoldiq
?Butun sonni kiritish
?'Kiritish belgisi
!Butun sonni chop eting
!'Belgini bosib chiqarish
'Belgini stekka suring
"Ipni bosib chiqarish
<letter>O'zgaruvchan manzilni oling
:Do'kon o'zgaruvchisi
.O'zgaruvchini eslang
<Y
=Y = X bo'lsa, 1ni qaytaring; aks holda 0 qaytaring
>Y> X bo'lsa, 1ni qaytaring; aks holda 0 qaytaring
[Shartli bayonotning boshlanishi
]Shartli bayonotning oxiri
(Loopning boshlanishi
)Loopning oxiri
^Chiqish davri (agar noto'g'ri bo'lsa)
#Ibratli qo'ng'iroq
@Makrosdan chiqish
%Ibratli parametr
,Haqiqiy so'l parametrining oxiri
;Ibratli parametrlar ro'yxati oxiri
{Izni boshlang
}Izni tugatish
~Izoh

Ifodalar

Keng tarqalgan iboralar

Ushbu iboralar Sichqoncha dasturlarida tez-tez uchraydi.

X: ~ o'zgaruvchan XX ga saqlang. ~ o'zgaruvchini eslash. Y: ~ Xni YN ga nusxalash. 1 + N: ~ N ni 1P ga oshirish. Savol: P: Q: ~ P va Q qiymatlarini almashtirish? Javob: ~ raqamni kiriting va AP-da saqlang. ! ~ o'zgaruvchini chop etish

Kiritish

Sichqoncha butun sonlarni yoki belgilarni kiritishi mumkin. Belgilar kiritilganda u avtomatik ravishda uning ASCII kodiga aylantiriladi.

? X: ~ raqamni kiriting va X ga saqlang? ' X: ~ belgini kiriting va uning ASCII kodini X ga saqlang

Chiqish

Sichqoncha ushbu misollarda ko'rsatilgandek butun sonlarni, belgilarni yoki simlarning doimiylarini bosib chiqarishi mumkin. Agar qator doimiyida undov belgisi paydo bo'lsa, yangi satr bosiladi.

X.! ~ X raqamini eslang va uni chop etingX. ! " ~ ASCII kodini eslang va "Salom" belgisini bosib chiqaring ~ "Salom" qatorini "1-qator! 2-qator" ni bosib chiqaring ~ "1-qator" va "2-qator" qatorlarini ikki qatorga bosib chiqaring

Shartli

Shartli bayon umumiy shaklga ega:

B [S] ~ ga teng: agar B bo'lsa S

Bu yerda B bu 1 (rost) yoki 0 (yolgon), va ga baho beradigan ifoda S bayonotlar ketma-ketligi.

Ko'chadan

Looplar bir nechta shakllardan biriga ega bo'lishi mumkin. Eng keng tarqalgan shakllar:

(B ^ S) ~ ga teng: B esa S (S B ^) ~ ga teng: S ni takrorlang (B emas)

Bu erda yana B mantiqiy qiymat (0 yoki 1) va S bayonotlar ketma-ketligi.

Ibratli qo'ng'iroqlar

Ibratli (subroutine) qo'ng'iroqning shakli quyidagi misolda aks ettirilishi mumkin. Makro A ushbu misolda unga berilgan ikkita parametrni asosiy dasturdan qo'shadi va yig'indining yuqori qismidagi yig'indisini qaytaradi.

# A, p1, p2; ~ asosiy dasturni A makrosiga chaqirish ... $ A 1% 2% + @ ~ makro A (p1 va p2 parametrlarini qo'shish)

Bu yerda p1 va p2 so'lga o'tkaziladigan parametrlardir.

Namunaviy dasturlar

Ushbu qisqa dastur "Salom dunyo" ni nashr etadi.

"Salom dunyo." $

Ushbu dastur 1 dan 10 gacha bo'lgan butun sonlarning kvadratlarini namoyish etadi.

1 N: ~ boshlang N dan 1 gacha (NN *! "" ~ Boshlang'ich tsikli; N sonli kvadratlarni bosib chiqaring. 10 - 0 <^ ~ agar N> = 10 N bo'lsa, tsikldan chiqing. 1 + N:) $ ~ o'sish N va takrorlang. pastadir

Izohlar

  1. ^ a b Grogono, Piter (1979 yil iyul). "Sichqoncha / mikrokompyuterlar uchun til". BAYT. 198-220 betlar. Olingan 18 oktyabr 2013.
  2. ^ Leyn, Tom; Grogono, Piter (1980 yil iyun). "Sichqoncha uchun izoh va tuzatish". BAYT. Olingan 18 oktyabr 2013.
  3. ^ a b v d Grogono, Piter. Sichqoncha: mikrokompyuterlar uchun til. 151 sahifa. Petrocelli Books, Inc .: 1983 yil. ISBN  0-89433-201-5.

Tashqi havolalar