MENU

 




Menager

kazy69@iis.siedlce.pl



Pascal-GTW


 

 Projekt będzie obejmował stworzenie interpretera języka Pascal. Zakres jaki będzie on obejmował ograniczony zostanie do podstawowych instrukcji języka oraz pętli While. Zastosowane będą instrukcje logiczne If - Then oraz If - Then - Else.

Notacja Backhusa-Naura dopuszcza stosowanie następujących symboli:
 <> - w nawiasach ostrych podaje się definiowanej składni,
::= - oznacza przypisanie do definiowanej nazwy jej składni,
| - lub
[ ] - nawiasy kwadratowe oznaczają opcjonalne wystąpienie,
{} - wybierz jeden z elementów występujących (dokładnie 1 raz),
{}+ - element musi wystąpić co najmniej 1 raz (1 lub więcej razy),
{}* - element może wystąpić 0 lub więcej razy (0 lub więcej razy),

 

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>



   
 
 
AP Siedlce @ 2007