问题描述
antlr4(对于Java)中的visitChildren()
实际上是做什么的?这是基本访问者中所有内容的默认功能,它似乎做了很多我不知道的事情。例如,这些解析器规则有什么用?
1)
a: b | c | d;
e: F g H;
i: j k l+;
m: N O P?;
还有其他示例来说明它的作用吗?
解决方法
visitChildren
遍历给定节点的所有子节点,并为每个子节点触发accept
方法。查看生成的解析器,以了解accept
方法的作用。通常,它调用链中下一个孩子的访问函数,或者只是通过再次调用visitChildren
来访问其自己的孩子(基本上具有相同的效果,只是以更一般的方式)。请参见类AbstractParseTreeVisitor
,以了解visitChildren
的默认实现以及您可以重写以自定义访问者行为的其他方法。