Antlr4 如何在具有ANTLR 4的侦听器中使用语义测试?

Antlr4 如何在具有ANTLR 4的侦听器中使用语义测试?,antlr4,Antlr4,我希望避免在解析器语法文件中使用编程,而在侦听器中使用语义检查。我能做吗?怎么做?我是否抛出异常?调用解析器的方法 多谢各位 编辑:我说莱克瑟,这是个错误。我指的是解析器。最简单的方法是使用识别器#addErrorListener(antlerrorlistener)捕获语义和其他错误——解析器扩展识别器 在解析器运行后检查捕获的错误是否存在,以决定是否/如何继续 要影响解析器处理错误的方式,请使用parser\setErrorHandler(antlErrorStrategy)。运行时包括一个

我希望避免在解析器语法文件中使用编程,而在侦听器中使用语义检查。我能做吗?怎么做?我是否抛出异常?调用解析器的方法

多谢各位


编辑:我说莱克瑟,这是个错误。我指的是解析器。

最简单的方法是使用
识别器#addErrorListener(antlerrorlistener)
捕获语义和其他错误——解析器扩展
识别器

在解析器运行后检查捕获的错误是否存在,以决定是否/如何继续


要影响解析器处理错误的方式,请使用
parser\setErrorHandler(antlErrorStrategy)
。运行时包括一个
BailErrorStrategy
,可用于在遇到语法错误时停止解析器。

您的意思可能是“…在遇到语法错误时停止解析器”。语法分析器无法理解语义,非常感谢!这对我来说很完美,语法也很干净。