我想知道如何在语法文件中定义AST 的节点有“两个父母”。例如,如果第一棵树的节点“D”也是节点“A”的子节点,我应该使用什么语法以使节点“D”不会重复出现(我想要第二棵树之类的东西)。
A
|
|
|-------|
B C
|
D
A
/ \
/ |
|----| |
B C |
\ |
D
如果我使用类似的东西:
A B C D -> ^(A B ^(C D) D)
节点“D”将重复出现。