| ||
Główna Krótki opis Założenia Skład Grupy Notacja BNF Skaner Parser Interpreter Creep's Group |
Poniżej została przedstawiona notacje BNF, na podstawie której został zbudowany skaner do interpretera. EBNF PASCAL < symbol_przypisania > ::= ”:=” < symbol_porownania > ::= > | < | >= | <= | <> | = < symbol_arytmetyczny >::= + | - | / | * < operacja_wejscia >::= read | readln < operacja_wyjscia >::= write | writeln < litera >::={“a”|”b”|”c”|”d”|”e”|”f”|”g”|”h”|”I”|”j”|”k”|”l”|”m”|”n”|”o”|”p”|”q”|”r”|”s”|”t”|”v” |”x”|”y”|”z”|”B”|”D”|”E”|”F”|”G”|”H”|”I”|”J”|”K”|”L”|”M”|”N”|”O”|”P”|”Q”|”R”|”S”|”T”|”U”|”V”|”W”|”X”|”Y”|”Z”} < cyfra >::=”0”|”1”|”2”|”3”|”4”|”5”|”6”|”7”|”8”|”9” < zmienna >::= {< litera >< cyfra >} < kropka >::= ”.” < separator >::= ”;” < znak_ujemny >::= ”-“ < typ >::= integer | real | string | char Deklaracja ciała programu < program > ::= program < deklaracja_zmiennych > begin < ciag_instrukcji > end. Deklaracja zmiennych < deklaracja_zmiennych >::=var {< zmienna >”:”< typ > < separator >} Deklaracja liczb całkowitych i rzeczywistych < liczba_calkowita >::= [< znak_ujemny >]{< cyfra >} < liczba_rzeczywista >::=[< znak_ujemny >]< liczba_calkowita >< kropka >{< cyfra >} < liczba >::=< liczba_calkowita >|< liczba_rzeczywista > < wartosc >::=< zmienna >|< liczba > Operacje arytmetyczne i logiczne < operacja_przypisania >::= < zmienna >< symbol_przypisania >< liczba > | < zmienna >< symbol_przypisania >< zmienna > < operacja_arytmetyczna >::=< wartosc >< symbol_arytmetyczny >< wartość > < instrukcja >::=< operacja_przypisania >< separator >| < operacja_przypisania >< symbol_arytmetyczny >< wartość >< separator >| < operacja_przypisania >< symbol_arytmetyczny >< operacja_arytmetyczna >< separator > | < operacja_warunkowa > < warunek >::= < wartosc >< symbol_porownania >< wartosc > | < petla_for > | < petla_while > < operacja_logiczna >::= < warunek > {< symbol_logiczny > < warunek >} Operacja warunkowa i pętla < blok_instrukcji >::=begin{< instrukcja >}end< separator > < operacja_warunkowa >::=if< operacja_logiczna >then< schemat >[else< blok_instrukcji >]< separator > < petla_while >::=while< operacja_logiczna >do< blok_instrukcji > < petla_for >::=for< operacja_przypisania >to< wartosc >do< blok_instrukcji > |