所以我启动并运行了解析器。它很棒。现在我发现,它只解析文件的“合法”部分,完全忽略了非法的额外内容。
以下是一个例子:
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。
答案 0 :(得分:1)
只需将EOF添加到开始规则的末尾。