在antlr文档中,我看到以下两条规则,但它们的描述完全相同。这两条规则有什么区别......
a : INT ID -> ID INT ; // reorder nodes
a : ^(ID INT) -> ^(INT ID) ; // flip order of nodes in tree
另外,为什么不写这样的第二条规则,或者与第一条规则相同,那么规则之间没有区别?
a : ^(INT ID) -> ^(ID INT) ;
感谢, 迪安
答案 0 :(得分:2)
^(INT ID)
表示INT
是根,ID
表示孩子。INT ID
表示INT
和ID
都是子节点。