現在、これを使用して算術式を解析しています。
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 ) )