root ::= (expr "=" ws term "\n")+ | |
expr ::= term ([-+*/] term)* | |
term ::= ident | num | "(" ws expr ")" ws | |
ident ::= [a-z] [a-z0-9_]* ws | |
num ::= [0-9]+ ws | |
ws ::= [ \t\n]* | |
root ::= (expr "=" ws term "\n")+ | |
expr ::= term ([-+*/] term)* | |
term ::= ident | num | "(" ws expr ")" ws | |
ident ::= [a-z] [a-z0-9_]* ws | |
num ::= [0-9]+ ws | |
ws ::= [ \t\n]* | |