Skip to content

Latest commit

 

History

History
21 lines (14 loc) · 554 Bytes

EBNF_GRAMMAR.md

File metadata and controls

21 lines (14 loc) · 554 Bytes

bloco ::= {comando [`;´]}

comando ::= Nome `=´ exp | chamadadefuncao | declaracaodevariavel | while exp do bloco end | if exp then bloco [else bloco] end

exp ::= Numero | Nome | chamadadefuncao | exp opbin exp | opunaria exp | (´ exp

chamadadefuncao ::= Nome (´ [listaexp]

declaracaodevariavel ::= var Nome [`=´ exp]

listaexp ::= {exp `,´} exp

opbin ::= +´ | -´ | *´ | /´ | <´ | <=´ | >´ | >=´ | ==´ | ~=´ | and | or

opunaria ::= `-´ | not