A szintaxis definiálásához a BNF nyelvtant használjuk. Ebből a következő formában építkezhetünk:
<nem_terminális_elem> -> <alternatíva1> | <alternatíva2> | <alternatíva3> | "..."
A következő formával jelöljük, hogy az opcionális részt, ami egyszer, vagy egyszer sem szerepelhet:
[<opcionális_rész>]
A következő forma azt jelenti, hogy az opcionális rész akárhányszor (akár egyszer sem) szerepelhet:
[<optional>]*
kis és nagy betűk azonosak a Theta-ban. Például a "THEN", then és "Then" ekvivalensek, mindannyian fenntartott szavak.
Egy modul tokenek és szeparátorok sorozata. A token nyomtatható ASCII karakterek sorozat, lehet egy fenntartott szól, egy azonosító, egy literál, egy operátor vagy egy elválasztójel. A szeparátor egy "szóköz" karakter (szóköz (space), vertikális tabulátor, horizontális tabulátor, kocsivissza (CR), újsor (NL) vagy lapdobás) vagy egy komment. Nulla vagy több szeparátor lehet minden token között, de legalább egy szeparátornak kell állnia minden két egymás melletti nem önmagát termináló token: fenntartott szavak, azonosítók, egész literálok és valós literálok. A tokenekről bővebb leírás található a következő szakaszban.
kommentek (megjegyzések) egy százalék jellel (%) kezdődnek és a következő sor végét jelentő (vertikális tabulátor, kocsivissza, új sor vagy lapdobás) karakterig tartanak. A közbezárt karakterek egyetlen szeparátorként lesznek kezelve, egyébként a fordító figyelmen kívül hagyja őket.
A következő tokenek fenntartott szavak a nyelvben:
Ezeken kívül a következő szavak is foglaltak, mert ezek a nyelv beépített típusainak, paraméterezhető típusainak, vagy ezekhez tartozó literálok nevei:
A "failure" token speciális szó a nyelvben, ez egy exception neve, de ez nem fenntartott szó.
Az azonosítók betűk, számok és aláhúzás-jelből álló sorozatok lehetnek, melyek betűvel vagy számmal kezdődnek.
A nyelvben litarálok is találhatók, melyek a beépített típusok egyes objektumait nevezik meg, ezek a következők: "null", "bool", "int", "real", "char" és "string".
A tokenek egy részét operátorként és írásjelként használjuk. A következő táblázatban megtalálható a Theta összes operátora és írásjele. Ezen tokenek egy része rövidítésként használatos a különböző metódus hívásokkor. Minden egyszerű karakter tokenhez a táblázat megadja a hexadecimális ASCII kódját is. (A "b_c" jelölés a c számot jelenti b számrendszerben.)
" |
16_22 |
< |
16_3c |
= |
16_26 |
<= |
|
' |
16_27 |
= |
16_3d |
( |
16_28 |
> |
16_3e |
) |
16_29 |
>= |
|
* |
16_2a |
[ |
16_5b |
** |
|
] |
16_5d |
+ |
16_2b |
^ |
16_5e |
, |
16_2c |
; |
16_6b |
- |
16_2d |
{ |
16_7b |
. |
16_2e |
| |
16_7c |
.. |
|
|| |
|
/ |
16_2f |
} |
16_7d |
// |
|
~ |
16_7e |
: |
16_3a |
~= |
|
:= |
|
\ |
16_5c |
A következő nyomtatható ACSII karakterek nincsenek használva a nyelvben.
! Felkiáltójel |
16_21 |
? kérdőjel |
16_3f |
# kettős kereszt |
16_23 |
@ kukacjel |
16_40 |
$ dollárjel |
16_24 |
` fordított idézőjel |
16_60 |
A % ASCII karaktert (ASCII 16_25) megjegyzésekhez használjuk.