Simple expression evaluator using EBNF