我想将新节点插入到解析器在访问树时刚刚获得的解析树中。该位置可能是当前节点的父节点或兄弟节点,也可能是在它之前,所以我需要通过调用getParent
和getChild
方法来检查是否有一个节点与新节点的规则名称匹配ParseRuleContext
。getParent
返回ParseRuleContext
,但getChild
返回ParseTree
。为什么这两种方法返回不同的类型?
顺便说一句,也有可能当前节点应该被新节点替换。
在解析树上实现这种修改的最佳方法是什么?谢谢!