antlr4中的终止符是什么?

时间:2019-05-24 03:36:27

标签: antlr antlr4

antlr4中的终止符是什么?

对于r,为什么我不输入字符“ hello world; world; world”,他会到达;它应该停止匹配。为什么不报告错误。

grammar hello ;
r : 'hello' ID ';' ; // match keyword hello followed by an identifier
ID : [a-z]+ ; // match lower-case identifiers
WS : [ \t\r\n]+ -> skip; // skip spaces, tabs, newlines

1 个答案:

答案 0 :(得分:0)

Stackoverflow包含多个此类问题。您应该先搜索,然后再问相同的问题。

将EOF令牌添加到顶级规则中,以告诉解析器整个输入必须正确匹配才能有效:

r: 'hello' ID ';' EOF;