我刚刚开始使用ANTLR,并试图遵循我不久前在SO上找到的一个简单的例子: ANTLR:有一个简单的例子吗?
我想在我的ANTLR 4项目中做类似的事情。有谁知道我该怎么做?
我已经定义了我的语法,它可以生成正确的树。
从本质上讲,我希望看到从数学表达式中生成的答案,而不仅仅是确认我的语法是正确的。
请帮忙!
本书介绍了所有这些,但如果您只想计算,则基本思想是从表达式规则返回一个值:
e returns [int value]
: left=e '*' right=e {$value = $left.value * $right.value;}
| left=e '+' right=e {$value = $left.value + $right.value;}
| INT {$value = $INT.int;}
;