ste*_*bln 0 antlr
我喜欢定义一个非常简单的规则,它应该代表标识符。这对于长度超过 1 个字符的标识符非常有效,但对于只有 1 个字符的标识符,我会得到 MismatchedTokenException(64!=45)。这是规则:
ID : ('a'..'z' | 'A'..'Z')+ ;
这有什么问题吗?
谢谢!
ste*_*bln 5
你说得完全正确,规则本身就很好,但我发现 ANTLR 中的很多内容都取决于规则的顺序。我之前还有另一个规则,它已经与 ID 规则匹配了。最后它是有意义的,因为词法分析器无法决定采用哪条规则。
归档时间:
15 年,4 月 前
查看次数:
1498 次
最近记录: