Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
词法分析器子规则之间的选择顺序在 ANTLR4 中是否重要?例如,以下规则之间有什么区别吗?
STRING: '"' ('\\"' | .)*? '"'; STRING: '"' (. | '\\"')*? '"';
第一条词法规则可以匹配整个输入,如:“abc\”def”,第二条只匹配部分,即“abc\”,其余字符序列报错。
Antlr 生成的词法分析器首先匹配首先定义的子规则。我已经在 Antlr 4 上对它们进行了测试。