I don't understand this binary expression grammar
expr -> expr '+' term | expr '-' term | term term -> term '*' factor | term '/' factor | factor factor -> '(' expr ')' | NUM
In plain english:
An expr can be one of the following:
expr
+
term
-
A term can be one of the following:
*
factor
/
A factor can be one of the following:
(
)
In plain english:
An
exprcan be one of the following:exprfollowed by the character+followed by atermexprfollowed by the character-followed by atermtermA
termcan be one of the following:termfollowed by the character*followed by afactortermfollowed by the character/followed by afactorfactorA
factorcan be one of the following:(followed by andexprfollowed by a character)