Notacja BNF
<operacja_przypisania>::= :=
<cz_deklaracji>::= var
<deklaracja>::= <nazwa> : <typ_zmiennej>
<nazwa>::= <litera> | <litery_cyfry>
<litery_cyfry>::= <litera> | <litery_cyfry><literaz_cyfra>
<litera_cyfra>::=<litera> | <cyfra>
<litera>::= a | b | c |
| z | A |
| Z | _
<cyfra>::= 0 | 1 | 2 |
| 9
<typ_zmiennej>::= integer | real | bool
<wart_bool>::= true | false
<zmienna>::=<nazwa>
<operacja_arytmetyczna>::= + | - | * | /
<operacja_porownania> ::= < | > | = | <= | >=
<koniec_instrukcji>::= ;
<operacja_wejscia>::=read | readln
<operacja_wyjscia>::=write | writeln
<instrukcja>::= <zmienna> <operacja_przypisania> <zmienna> <operacja_arytmetyczna>
<cyfra><koniec_instrukcji> |
<zmienna>
<koniec_instrukcji> |
<zmienna><operacja_przypisania><cyfra> <operacja_arytmetyczna><zmienna>
<koniec_instrukcji> |
<instrukcja_warunkowa>
<blok_instrukcji>::= begin <instrukcja> end <koniec_instrukcji>
<warunek>::= <zmienna><operacja_porownania><zmienna> |
<zmienna><operacja_porownania><cyfra> |
<zmienna><operacja_porownania><wart_bool>
<instrukcja_warunkowa>::= if <warunek> then <blok_instrukcji> |
if <warunek> then <instrukcja>
<petla>::= while <warunek> do <blok_instrukcji>