ANTLR 4 lexer子规则

时间:2013-06-22 16:04:47

标签: antlr lexer antlr4

在leTLR4中,词法分子子规则之间的选择顺序是否重要?例如,以下规则之间是否有任何区别?

STRING: '"' ('\\"' | .)*? '"';
STRING: '"' (. | '\\"')*? '"';

1 个答案:

答案 0 :(得分:1)

第一个词法规则可以匹配整个输入:“abc \”def“。第二个只匹配它的一部分,即”abc“,然后报告其余字符序列的错误

Antlr生成的词法分析器首先匹配首先定义的子规则。我在Antlr 4上测试了它们。