如何定义"其他一切"解析器规则来捕获非法额外的

时间:2014-05-06 22:56:08

标签: antlr

所以我启动并运行了解析器。它很棒。现在我发现,它只解析文件的“合法”部分,完全忽略了非法的额外内容。

以下是一个例子:

grammar myrule;

myrule: a_rule+;

a_rule: Open_Brace  Lower_Case_Char+  Close_Brace;

Open_Brace: '{';

Lower_Case_Char: 'a'..'z';

Close_Brace: '}';

当我用“{abc}”提供它时,它按预期解析得很好。

但是当我用“{abc}额外额外”喂食时,它很高兴结束而没有报告非法部分,“额外额外”。

如何捕获非法部分?

我正在使用ANTLR v3.4。

1 个答案:

答案 0 :(得分:1)

只需将EOF添加到开始规则的末尾。