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
答案 0 :(得分:0)
Stackoverflow包含多个此类问题。您应该先搜索,然后再问相同的问题。
将EOF令牌添加到顶级规则中,以告诉解析器整个输入必须正确匹配才能有效:
r: 'hello' ID ';' EOF;