从Antlr4侦听器生成特定的警告/错误消息

时间:2015-07-17 17:12:08

标签: antlr4

我使用Antlr4来标记和解析遗留语言,我的最终目标是生成C#代码并在模拟执行遗留语言的物理硬件的运行时环境中执行此代码。

模拟器和代码生成工作得非常好。

我想从监听器生成特定的错误消息或警告消息,这可能吗?

例如,语言允许行以分号结束或不结束,如果行缺少分号,我想发出警告。

我有更多类似的场景,语言和物理硬件有许多奇怪的特征。

谢谢, 格雷格

1 个答案:

答案 0 :(得分:0)

可能更好的方法是从解析器发出警告。在构造解析器时,有两种方法:

parser.addErrorListener(new YourErrorListener());
parser.setErrorHandler(new YourParserErrorStrategy());

错误监听器允许custom error messages。错误策略控制解析器deals with specific errors:如何与令牌流重新同步或有效插入“丢失”'令牌。