Notacja Backusa-Naura (BNF)
Dla Analizatora leksykalnego
<Litera> ::= a|..|z|A|..|Z
<Cyfra> ::= 0|..|9
<Slowo_Kluczowe> ::=Program|Integer|Real|Boolean|Write|Read|For|If|
    Then|True|False|Begin|End|Var|To|Do
<Separator> ::= ;
<Spacja> ::= ' '
<Przecinek> ::= ,
<Kropka> ::= .
<Dwukropek> ::= :
<Znak_Porownania> ::= =
<Operator_Przypisania> ::= :=
<Znak_Dodawania> ::= +
<Znak_Odejmowania> ::= -
<Znak_Mnozenia> ::= *
<Znak_Dzielenia> ::= /
<Znak_Mniejszosc> ::= <
<Znak_Wiekszosc> ::= >
<Nawias_Lewy> ::= (
<Nawias_Prawy> ::= )
<Lewy_Klamrowy> ::= {
<Prawy_Klamrowy> ::= }
<Cudzyslow> ::= ”
<Operator_Arytmetyczny>::=<Znak_Dodawania>|<Znak_Odejmowania>
    |<Znak_Mnozenia>|<Znak_Dzielenia>
<Operator_Porownania>::= <Znak_Porownania>|<Znak_Mniejszosc>
|<Znak_Wiekszosc>|<Znak_Różności>
<Liczba_Calkowita > ::= [<Znak_Odejmowania>]<Cyfra>*
<Wartosc_Boolean> ::= True | False
<Wartosc> ::= <Liczba_Calkowita>|<Wartosc_Boolean>
<Nazwa_zmiennej > ::= {<Litera>}*|{ {<Litera>}* {<Cyfra>}* }*
<Przypisanie>::=<Nazwa_Zmiennej><Spacja><Operator_Przypisania><Spacja>
<Wartosc>|<Nazwa_Zmiennej><Spacja><Operator_Przypisania><Spacja>
<Nazwa_Zmiennej>|<Nazwa_Zmiennej><Spacja><Operator_Przypisania>
<Spacja><Operacja_Arytmetyczna>
<Instrukcja_Prosta> ::= <Przypisanie><Separator>
<Operacja_Arytmetyczna>::=<Nazwa_Zmiennej><Spacja>
<Operator_Arytmetyczny><Spacja><Nazwa_Zmiennej>
|<Wartosc><Spacja><Operator_Arytmetyczny><Spacja><Nazwa_Zmiennej>
|<Nazwa_Zmiennej><Spacja><Operator_Arytmetyczny><Spacja><Wartosc>
|<Wartosc><Spacja><Operator_Arytmetyczny><Spacja><Wartosc>
<Operacja_Porownania>::=<Nazwa_Zmiennej><Spacja><Operator_Porownania>
<Spacja><Nazwa_Zmiennej>|<Wartosc><Spacja><Operator_Porownania>
<Spacja><Nazwa_Zmiennej>|<Nazwa_Zmiennej><Spacja>
<Operator_Porownania><Spacja><Wartosc>|<Wartosc><Spacja>
<Operator_Porownania><Spacja><Wartosc>
Dla Analizatora skladniowego
<Instrukcje>::=<Instrukcja_Prosta>|<Deklaracja_Zmiennych>|<Petla_For>
|<Warunek_If>|<Operacja_Wejscia>|<Operacja_Wyjscia>
<Petla_For>::=For <Przypisanie> To <Wartosc>|<Nazwa_Zmiennej>Do
Begin {<Instrukcje><Separator>}* End <Separator>
<Warunek_If>::=If<Operacja_Porownania>Then
Begin {<Instrukcje><Separator>}* End <Separator>
<Typ> ::= Integer|Real|Boolean
<Deklaracja_Zmiennej> ::= Var <Nazwa_Zmiennej><Dwukropek>
<Typ><Separator>
<Operacja_Wejscia> ::= Read <Nawias_Lewy><Nazwa_Zmiennej>
<Nawias_Prawy> <Separator>
<Operacja_Wyjscia> ::= Write <Nawias_Lewy><String>
<Nawias_Prawy><Separator>
<String>::=<Cudzyslow><Wartosc> <Cudzyslow>|<Nazwa_zmiennej>
|