A Corbascript nyelv

Lexikális elemek

Az OMG IDL CorbaScript a szabványos ISO Latin-1 (8859-1) és karakterkódolást használja.

Tokenek

5 féle tokent különböztet meg a nyelv ezek rendre: azonosítók, literálok, operátorok és egyéb elválasztó jelek. A space, a tabulátor, az új sor, a soremelés karaktereket, valamint a megjegyzéseket az interpreter figyelmen kívül hagyja, kivétel, ha token-elválasztó jelként működnek. Ha parser egy adott modult már egy tokenig sikeresen végig elemzett, a kővetkező token a leghosszabb olyan string lesz, ami még tokennek értelmezhető.

Megjegyzések (kommentek)

Megjegyzés mindig # karakterrel kezdődik és a sor végéig tart.

Azonosítók

Azonosítója lehet egy változónak, típusnak, osztálynak és modulnak. Az azonosító tetszőleges hosszúságú lehet, tartalmazhat betűt, számot és _ karaktert. Az azonosító nem kezdődhet számmal. A nyelv megkülömbözteti a kis és nagy betüket.

Kulcsszavak

A nyelvnek a következő kulcsszavai vannak, ezeket nem használhatjuk más célra.

catch class del do else
finally for if import in
proc return throw try while

A kulcsszavakra ugyanazok a szabályok vonatkoznak, mint az azonosítókra, azaz például class helyes, de a Class már értelmezési hibákat okozhat.

Operátorok

A nyelv a következő operátorokat használja.

( ) [ ] { } , ; . :: :
+ - * / % \ ! && || = ==
!= < <= > >=

Literálok

A következő literálok léteznek

Egész Literálok

Egy egész literál decimális számjegyek sorozata. Amennyiben a szám 0-val kezdődik, abban az esetben az egy oktális (nyolcas számrendszerbeli) számként lesz értelmezve. Ha a szám 0x karakterekkel kezdődik akkor az hexadecimális.
Például a 12 szám a következő formákban írható:

12,014,0xC

Lebegőpontos Literálok

Egy lebegőpontos szám egészrészből, tizedes pontból, törtrészből esetlegesen e vagy E vel kezdődő előjeles kitevőből áll. Az egész és a tört részből, illetve a tiezedes pontból és a kitevőből legfeljebb az egyik elhagyható.
Például:

3. 3.2 .2 3.2e-4 .2e15 10e10

Karakter Literálok

A karakter literál egy vagy több karakter aposztrófok (') között.
Például:

'a' '\t' '\045' '\x4f'

A nem nyomtatható karakterek escape szekvenciái a következők:

új sor \n
tabulátor \t
függőleges tabulátor \v
visszalépés \b
kocsivissza \r
soremelés \f
csengő \a
visszaperjel \\
kérdőjel \?
idézőjel \"
aposztróf \'
oktális szám \000
hexadecimális szám \xhh

Az ezektől eltérő escape szekvenciák eredménye nem definiált.

String Literálok

A string literál karakterek sorozata, idézőjelek között.
Például:

"Hello word\n" "Ez egy \"belső\" string"

Az egymás mellé írott stringek konkatenálódnak, de a karakterek külön vannak értelmezve, így például

"\xA" "B"

két karaktert jelöl.
A string mérete a benne szereplő karakterek száma, figyelmbe véve a fenti konkatenációs szabályt. A string literál nem tartalmazhatja a '\0' karaktert!