A BETA programozási nyelv

Lexikális elemek



Jelölések

(# ... #) objektum-deszkriptor; a blokk kezdete ... vége
-> értékadás (a jobb oldali változó kapja a bal oldali kifejezés értékét)
[...] tömbök indexelése
@ statikus referencia
^ dinamikus referencia (extremális elem: NONE)
| folyamat-alkotóelem (thread component) referencia
[ ] a referenciára (és nem értékre) való hivatkozás
& memóriaterület lefoglalása dinamikus referencia számára
## egy objektum mintájára való hivatkozás
// egyenlőség vizsgálata
(* ... *) megjegyzés
my_label címke
: jelentés-hozzárendelés (például x: @Real)
:< virtuális minta, az almintákban (leszármazottakban) majd kiterjeszthető lesz
:: virtuális minta kiterjesztése almintában, de ez már nem terjeszthető tovább
::< virtuális minta kiterjesztése almintában, de kiterjeszthető

Azonosítók

A BETA-ban az azonosítók betűvel vagy aláhúzással kezdődhetnek, és betűvel, számmal vagy aláhúzással folytatódhatnak. Sem az azonosítóknál, sem a kulcsszavaknál nem tesz különbséget kis- és nagybetű között a nyelv.

A nyelv kevés kulcsszót tartalmaz, ezek: do, else, enter, exit, for, if, inner, leave, none, repeat, restart, suspend, then, this

Numerikus literálok

A numerikus literálok előjeles és előjel nélküli, egész vagy lebegőpontos számok lehetnek.

Az egész számokat a szokásos decimális alakon kívül elvileg tetszőleges (A Mjølner rendszerben maximum 126-os) számrendszerbeli formában megadhatunk <alap>X<szám> vagy <alap>x<szám> alakban. Azonban a 10 darab decimális számjegy és az angol ábécé 26 darab betűjének segítségével legfeljebb 36 darab számjegyet tudunk megkülönböztetni, így gyakorlatilag a 36-os számrendszert még korlátok nélkül használhatjuk; a 36-nál nagyobb alapszám esetén már nem tudunk minden számot leírni (például: 36Xz = 35 és 36x10 = 36, de 37Xz = 35 és 37x10 = 37), de amit le tudunk írni, azt használhatjuk, például 99 köbét felírhatjuk így numerikus literálként: 99x1000.

(Más programozási nyelvek is lehetővé teszik a szokásosaktól - 10-es, 2-es, 8-as és 16-os - eltérő alapszámú számrendszerek használatát, például a Modula3 és az Ada 2-től 16-ig, a Smalltalk és az Erlang 36-ig.)

A 16x mellett a 0x prefix is 16-os számrendszerbeli számot jelöl.

(Nyilván nem használhatunk az alapszámmal egyenlő, vagy annál nagyobb számot a prefix után. A Mjølner rendszert használva ezt már a fordító is figyeli, és szintaktikus hibát jelez; érdekes, hogy - az amúgy értelmetlen - 1-es számrendszer ellen nem tiltakozik, csak ha nullánál nagyobb számot mernénk az 1x prefix után írni.)

A következő egész literálok mind a 11-et reprezentálják:     11     +2x1011     3X102     16xB     0xb.

A lebegőpontos számok három részből állnak, sorrendben: egészrész, törtrész, kitevő.

Az egészrészt megelőzheti a + vagy - előjel. Az egészrész nem hagyható el, tehát nem írható például '0.42' helyett '.42', mint például a C++ nyelvben.

A törtrész a tizedes ponttal kezdődik, melyet legalább egy számjegy követ, tehát csak '42.0' írható, '42.' nem.

A kitevőt az 'e' vagy 'E' karakter vezeti be, amit opcionálisan a kitevő előjele követhet, majd egy vagy több számjegy következik.

A törtrész is, és a kitevő is elhagyható, de nem egyszerre (akkor egész számot kapnánk).

A lebegőpontos szám belsejében nem fordulhat elő szóköz (tehát 31.4 e-1 nem egy lebegőpontos számot jelent).

Példák lebegőpontos literálokra:     3.14     0.314E+1     314e-2     3.14e0

Sztring literálok

A sztring literál egy egyszeres idézőjelek (aposztrofok) közé zárt karaktersorozat. A karakter az egy hosszúságú sztring. Például: 'a', 'ABC'.
Ha a sztringben aposztrofot szeretnénk használni, akkor azt duplázni kell. Például a '''Hi''' sztring a 'Hi' szöveget jelelenti.

Megjegyzések

A megjegyzés (* és *) közé zárt karaktersorozat. Ha a megjegyzés több sorból áll, akkor minden sor elejére egy * karakternek kell kerülnie.