擅长:python、mysql、java
<p>非常感谢你的回答。我做了类似的事情,但并不是每个选项都适用:</p>
<pre><code>number : Int | Hex | Oct
;
operation : ( ('(') ( number ) (op=(Add|Subtract|Multiply|Divide|Power|Max|Min)) ( number ) (')') )
| number
;
muldiv : ( ( operation ) (op=(Multiply|Divide)) ( operation ) )
|operation
;
addsub : ( ( muldiv ) (op=(Add|Subtract)) ( muldiv ) )
| muldiv
;
expression : ( (addsub) (op=(Add|Subtract|Multiply|Divide|Power|Max|Min) (addsub)) )
| addsub
| number
;
</code></pre>