#BasicDSP 2.0
program → statement-list EOF
statement-list → statement statement-list
statement-list → EMPTY
statement → assignment (LF | CR | SEMICOLON)
assignment → IDENT '=' expr
expr → expr + term
expr → expr - term
expr → term
term → term * factor
term → term / factor
term → factor
factor → FUNCTION '(' expr ')'
factor → '(' expr ')'
factor → - factor
factor → INTEGER
factor → FLOAT
factor → IDENT
program → statement-list EOF
statement-list → statement statement-list
statement-list → EMPTY
statement → assignment (LF | CR | SEMICOLON)
assignment → IDENT '=' expr
expr → term expr'
expr' → - term expr' | + term expr' | e
term → factor term'
term' → * factor term' | / factor term' | e
factor → FUNCTION '(' expr ')'
factor → '(' expr ')'
factor → - factor
factor → INTEGER
factor → FLOAT
factor → IDENT