negExpression : (NOT^)* primitiveElement ;
这是我的规则。我现在有这个代码:
!!(1==1)
我预计我最终会得到这棵树:
NOT
|
NOT
|
==
/ \
1 1
然而,在 Antlr3 中,树的结局似乎是这样的
NOT
/ \
NOT ==
/ \
1 1
IE。我最终得到的第二个节点没有子节点,而是它应该具有的子节点已成为其兄弟节点。
我做错了什么?
最佳答案
当我写下这个问题时,我意识到我的规则可能是错误的。 事实上,这完全符合我的预期。
negExpression : NOT^ negExpression | primitiveElement^;
关于antlr3 NOT 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7064090/