



|
Notacja BNF dla projektu c-pretter
For, new delete
Obiekt podstawowy <zdanie>
<zdanie>::=<przypisanie>|<deklaracja>|<pętla_for>
<zmienna>::= <litera> {<litera>}<stop>
<litera>::= [a-Z]
<cyfra>::=[0-9]
<liczba>::= [<znak>] <cyfra> {<cyfra>}
<wartosc>::=<litera> {<litera>} | <liczba>
<typ_prosty>::=int | double
<instrukcja>::= <przypisanie> | <wyrazenie>| <petla_for> | <wczytanie> |
<wypisanie>
<przypisanie>::=<zmienna>:=<wyrazenie> <stop>
<deklaracja>::=<typ> <zmienna><stop>| <typ><zmienna><przypisanie><stop> |
<typ_wskaznikowy> <zmienna><stop>| <typ_wskaznikowy><zmienna><przypisanie><stop>
<slowo_kluczowe>::=program | begin | end | new | delete | for
| funkcja | ( | ) | return | main | cin | cout
<operator>::= + | - | * | /
<operator_warunku> ::= >= | <= | != | = | > | <
<znak>::=+ | -
<stop>::=;
<separator>::=
<alokacja_pamieci>::=<zmienna> := new <typ> <stop>
<zwalnianie_pamieci>::=delete <zmienna> <stop>
<wyrazenie>::=<zmienna><operator><zmienna> | <zmienna><operator><liczba> |
<liczba><operator><zmienna> | <liczba> | <zmienna> <stop>
<warunek>::=<wyrazenie> <operator_warunku> <wyrazenie> <stop>
<wczytanie>::=cin>> <stop>
<wypisanie>::=cout<< <stop>
<pętla_for>::=for ( <przypisanie> ; <zmienna> <operator_warunku>
<zmienna> | <zmienna> <operator_warunku> <wartosc> ; <zmienna>
<operator> <zmienna> | <zmienna> <operator> <wartosc> ; ) <cialo>
<stop>
<program>::= main()
<poczatek_ciala>
<deklaracja>
<instrukcja>
<petla_for>
<koniec_ciala>
<cialo>::=<poczatek_ciala>
{<instrukcja>}
<koniec_ciala>
<poczatek_ciala> ::= {
<koniec_ciala> ::=}
|
|