|
|
|
Dokumentacja EBNF Notacji Backusa-Naura (EBNF) dla projektu cyfra::={0|1|2|3|4|5|6|7|8|9} liczba_calk::=<cyfra>{<cyfra>}* liczba_nat::={0|1|2|3|4|5|6|7|8|9}+ liczba_zmiennop::={<cyfra>}+< separator_dzies>{<cyfra>}* liczba::={< liczba_calk>|< liczba_zmiennop>} mala_litera::={a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z} duza_litera::={A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z} litera::={<mala_litera>|<duza_litera>} symbol::={<cyfra>|<litera>|_} nazwa::=<litera>{<symbol>}* spacja::={" "} cudzyslow::={"} apostrof::={'} symbol_inny::={~|!|@|#|$|%|^|&|*|(|)|-|+|=|[|]|{|}|;|:|<|>|,|.|/|?|\|"|"|<spacja>} wszystkie::={<znak>|{<znak_inny>}*} slowo_kluczowe ::= main|cout|cin|while|if|for|new|delete|*|return srednik ::= ; przecinek ::= , znak_porownania ::= == oprator_przypisania ::= = znak_dodawania ::= + znak_odejmowania ::= - znak_mnozenia ::= * znak_dzielenia ::= / znak_mniejszosc ::= < znak_wiekszosc ::= > nawias_o ::= ( nawias_z ::= ) kwadratowy_o ::= [ kwadratowy_z ::= ] klamrowy_o ::= { klamrowy_z ::= } cudzyslow ::= ” oprator_arytmetyczny ::= <znak_dodawania>|<znak_odejmowania>|<znak_mnozenia>|<znak_dzielenia> oprator_porownania::= <znak_porownania>|<znak_mniejszosc>|<znak_wiekszosc> liczba_calkowita ::= {<cyfra>} liczba ::=[<znak_odejmowania>]<liczba_calkowita> char ::= <apostrof><cyfra><apostrof> | <apostrof><litera><apostrof> boolean ::= true | false wartosc ::= <liczba>|<char>|<boolean> nazwa_zmiennej ::= {<litera>}{<cyfra>}* przypisanie ::=<nazwa_zmiennej><oprator_przypisania><wartosc> |<nazwa_zmiennej><oprator_przypisania><nazwa_zmiennej> |<nazwa_zmiennej><oprator_przypisania><operacja_arytmetyczna> instrukcja_prosta ::= <przypisanie><separator> operacja_arytmetyczna::=<nazwa_zmiennej><oprator_arytmetyczny><nazwa_zmiennej>| <wartosc><oprator_arytmetyczny><nazwa_zmiennej>| <nazwa_zmiennej><oprator_arytmetyczny><wartosc>| <wartosc><oprator_arytmetyczny><wartosc> operacja_porownania::=<nazwa_zmiennej><oprator_porownania><nazwa_zmiennej>
|<wartosc><oprator_porownania><nazwa_zmiennej> |<nazwa_zmiennej><oprator_porownania><wartosc> |<wartosc><oprator_porownania><wartosc> instrukcje
::= <instrukcja_prosta> | <deklaracja_zmiennych> |
<petla_while> | <warunek_if> | <delete> | <operacja_wyjscia> | <operacja_wejscia> petla_while::= while<nawias_o><operacja_porownania><nawias_p> <klamrowy_l>{< instrukcje>}*<klamrowy_p><separator> warunek_if::=if <nawias_o><operacja_porownania><nawias_p> <klamrowy_l>{<instrukcje>}*<klamrowy_p><separator> typ ::= int|char|bool|void delete ::= delete <nazwa_zmiennej><separator> deklaracja_zmiennych::= <typ><deklaracja_zmiennej><separator> |<typ>{< deklaracja_zmiennej ><przecinek>}<separator> deklaracja_zmiennej
::= <nazwa_zmiennej> |<przypisanie>| <nazwa_zmiennej><kwadratowy_l><liczba_calkowita>
<kwadratowy_p> |*<nazwa_zmiennej>[<oprator_przypisania
>new<typ> < kwadratowy_l><liczba_calkowita><kwadratowy_p>] string::= <cudzyslow><wartosc><cudzyslow>| <nazwa_zmiennej> operacja_wyjscia::= cout<znak_mniejszosc><znak_mniejszosc><string><separator> operacja_wejscia::=cin<znak_wiekszosc><znak_wiekszosc> <nazwa_zmiennej><separator> funkcja::=void
main<nawias_o>{<typ><nazwa_zmiennej>}*<nawias_p> <klamrowy_l>{<instrukcje >}*<klamrowy_p> |
![]() |
|