Cześć. Mam za zadanie zapisać z pomocą notacji EBNF: instrukcję warunkową, pętlę oraz składnie wyrażenia arytm oraz wskazać różnice pomiędzy EBNF a BNF.
Tutaj moje próby rozwiązania:
*if
<ifStatement>::=if<expression>then<codeBlock>[else<codeBlock>]";"
tutaj nie rozumiem jakie zadanie mają [] zawierające else<codeBlock>
*while
<whileStatement>::=while<expression>do<codeBlock>";"
*wyrażenie arytmetyczne, które pisałem całkowicie sam więc prawdopodobnie jest źle
<dodawanie>::=<longint>"+"<longint>":="<longint>";"
Pozostałe działania analogicznie.
*różnice pomiędzy EBNF a BNF
EBNF: może być bez modyfikacji i objaśnień, może reprezentować więcej niż jedną regułę w linii
Nie rozumiem jak mam interpretować te różnice.
Bardzo prosiłbym o sprawdzenie i ew podanie jakie błędy popełniłem przy rozwiązywaniu tego zadania.
Z góry dziękuję :)