目前我用它来解析算术表达式:
expr : '(' expr ')'
| number op expr
| variable op expr
| number
| variable
| <error>
它适用于简单的表达式,但不能处理嵌套的括号表达式。任何想法如何扩展/修改它以便它可以处理嵌套表达式。
例如这有效:
5 + 12
33 - $var
13 + 2 * $v
( 44 + 98 )
但这不起作用:
( 44 + 98 ) / 2
( 44 + 98 ) / ( 5 + $var2 )
( 11 + 5 ) * ( 3 + ( $v * 2 ) )