Küçük TEMEL
Tiny BASIC , orijinal olarak Assembly'de programlanmış ve yalnızca 2 ila 3 KB belleğe sığan BASIC programlama dili için bir yorumlayıcının çok basit ve basitleştirilmiş bir sürümüdür . Bu küçük boyut, tipik RAM boyutunun 4 ila 8 KB olduğu 1970'lerin ortalarında, mikrobilgisayarların ilk günlerinde çok kullanışlıydı .
Tarih
İlk dil yalnızca, öncelikle Stanford Üniversitesi Bilgisayar Bilimleri fakültesinin bir üyesi olan Dennis Allison tarafından yazılan bir standartlar belgesinden oluşuyordu . Homebrew Computer Club'dan Bob Albrecht , onu standardı yaratmaya çağırdı. BASIC dilini mini bilgisayarlarda görmüştü ve MITS'nin Ocak 1975'te piyasaya sürülen Altair 8800'ü gibi yeni makineler için mükemmel bir uyum olacağına inanıyordu .
Bob ve Dennis, tasarım belgesini People's Computer Company bülteninde yayınladı . Aralık 1975'te Dick Whipple ve John Arnold , yalnızca 3K RAM gerektiren bir dil tercümanı yarattılar . Bob ve Dennis, bu versiyonu ve orijinal tasarım belgelerindeki düzeltmeleri " Dr. Dobb's Journal of Tiny BASIC Calisthenics and Orthodontia " olarak adlandırdıkları özel bir Tiny BASIC bülteninde yayınlamaya karar verdiler . Tiny BASIC'in tasarım açıklamaları ve tam kaynak kodu da dahil olmak üzere 1976 sürümlerinde çeşitli sürümleri yayınlandı .
Minik TEMEL dilbilgisi
Dilbilgisi, Backus-Naur notasyonunda aşağıda listelenmiştir . Listelemede, bir yıldız işareti ("*") solundaki nesnenin sıfır veya daha fazlasını belirtir - "terim" tanımındaki çarpma operatörü olan ilk yıldız işareti dışında; parantez grup nesneleri; ve bir epsilon ("ε") boş küme anlamına gelir. Programlama dili dilbilgisi notasyonunda yaygın olduğu gibi, dikey çubuk ("|") alternatifleri ayırt etmenin yanı sıra ayrı satırlarda listelenir. "CR" sembolü, bir satır başı anlamına gelir (genellikle klavyedeki "ENTER" tuşu tarafından oluşturulur).
satır ::= sayı ifadesi CR | açıklama hazır yanıtı
deyim ::= PRINT expr-list
IF ifadesi relop ifadesi THEN ifadesi
GOTO ifadesi
INPUT değişken listesi
LET var = ifade
GOSUB ifadesi
DÖNÜŞ
AÇIK
LİSTE
KOŞMAK
SON
ifade listesi ::= (dize|ifade) (, (dize|ifade)* )
var-list ::= var (, var)*
ifade ::= (+|-|ε) terim ((+|-) terim)*
terim ::= faktör ((*|/) faktör)*
faktör ::= var | sayı | (ifade)
var ::= A | B | Ç .... | VE | Z
sayı ::= rakam rakam*
basamak ::= 0 | 1 | 2 | 3 | ... | 8 | 9
yeniden ::= < (>|=|ε) | > (<|=|ε) | =
Konsoldan bir BREAK, programın yürütülmesini kesintiye uğratır
Kaynak: Dr. Dobb's Journal of Computer Calisthenics & Orthodontia , Cilt 1, Sayı 1, 1976, s.9.
Yorumlanan dilde uygulama
Uygulama için yorumlanmış bir dil (IL) kullanılır. IL ile yazılmış bir yorumlayıcı, Tiny BASIC kodunun bir satırını yorumlar ve onu yürütür. IL , IL kodunu yorumlayan soyut bir makinede çalışır . Yorumlanmış bir dil kullanma fikri Val Schorre ( META II ile , 1964) ve Glennie'den (Syntax Machine) gelmektedir. Ayrıca bkz. sanal makine , CLI .
Aşağıdaki tablo, Tiny BASIC yorumlayıcısının yazıldığı yorumlanan dil komutlarının kısmi bir listesini verir. Komple tercüman programının uzunluğu sadece 120 IL işlemidir. Böylece, yorumlayıcı bir yaklaşım seçeneği, BASIC programları biraz yavaş yürütülse de, bellek alanından ve uygulama çabasından tasarruf sağladı. Son satırdaki CRLF, satırbaşını (CR) ve ardından yeni satırı (LF) simgelemektedir.
| TST lbl , dize | Dize BASIC satırıyla eşleşirse , imleci dizenin üzerine getirin ve sonraki IL deyimini yürütün; test başarısız olursa, lbl etiketindeki IL ifadesini yürütün |
| CALL lbl | lbl'den başlayarak IL alt yordamını yürütün ; çağrıyı (CALL) takip eden IL adresini kontrol yığınına kaydeder |
| RTN | Kontrol yığınının en üstünde belirtilen IL konumuna geri dönün |
| BAĞIŞ YAPMAK | Baştaki boşlukları sildikten sonra imleç bir satırbaşına basacak şekilde konumlanmadıysa sözdizimi hatası bildirin |
| JUMP lbl | Belirtilen etikette IL belirtimine devam eder |
| PRS | TEMEL metin karakterlerini kapalı soru işaretine kadar yazdırın, ancak kapalı soru işareti dahil değil |
| PRN | İfade yığınına POP yaparak elde edilen sayıyı yazdırır |
| SPC | Yazıcı kafasını bir sonraki bölgeye taşımak için boşluklar ekleyin |
| NLINE | Yazıcıya bir CRLF gönderin |
Kaynak: Dr. Dobb's Journal , Cilt 1, Sayı 1, 1976, s.12.
Ayrıca
Dış bağlantılar
- Tiny Basic Kullanım Kılavuzu ve Deneyci Kiti – Tom Pittman tarafından
- Robert Uiterwyk'in MICRO BASIC'i – Daha sonra SWTPC 6800 bilgisayarla birlikte satılan bir MC6800 küçük BASIC
- MINOL – Erik Mueller'in MINOL'u – Intel 8080 için dizeleri olan Tiny BASIC
- TBL – Sınırlı bellekli mini bilgisayarlarda PL/I, Fortran vb. için ilk başarılı derleyicilerde kullanılan Tiny BASIC'lere benzer bir IL
- M68000 Tiny BASIC – Li-Chen Wang'ın Palo Alto Tiny BASIC'ine dayanmaktadır ve Dr. Dobb's'un 100. baskısında yayınlanmıştır.
- Tiny BASIC – SmallBASIC ile yazılmış bir uygulama
- tinyBasic – iziBasic ile yazılmış bir uygulama
- Tiny BASIC – iziBasic'ten Run BASIC'e aktarılan canlı bir web sürümü
- TinyBasic – Tom Pittman'ın TinyBasic C yorumlayıcısının Java , C # ve Adobe Flex için bir bağlantı noktası . Canlı web sürümlerini içerir.
- TinyBasic – 16bit Mikrodenetleyici üzerinde modern bir uygulama.