我正在阅读《The Definitive Antlr 4 Reference》,并理解了关于Listeners和Visitors的工作原理。这本书特别好地解释了Listeners与SAX解析器的关系,并在每个实现过程中明确指出哪些方法将被调用。我也可以看到,Listeners非常适合将输入转换为输出,但我想知道何时使用Listener和何时使用Visitor(或者在某些情况下它们都应该使用?)。
我的特定意图是创建一个解释器(类似Cucumber/TinyBasic Interpreter并带有一些自定义调用),该解释器将检查语法错误,并在自定义函数出现错误时停止执行而不进行恢复 - 如果有人碰巧知道antlr的完整实现,我会很高兴看到这样的东西。
感谢您提前给予任何建议。
我的特定意图是创建一个解释器(类似Cucumber/TinyBasic Interpreter并带有一些自定义调用),该解释器将检查语法错误,并在自定义函数出现错误时停止执行而不进行恢复 - 如果有人碰巧知道antlr的完整实现,我会很高兴看到这样的东西。
感谢您提前给予任何建议。