<

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><cyfra> <operacja_arytmetyczna><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>