我的语法在第一个令牌上失败了。我已经删除了一些以减少选择,但仍然有错误:
第1行:0输入'main'不匹配期待{,'@','def',IDENTIFIER}
我希望令牌'main'与IDENTIFIER相匹配,IDENTIFIER有这个词汇制作:
IDENTIFIER:[a-zA-Z] [a-zA-Z0-9] *;
为什么会失败?
答案 0 :(得分:1)
以下情况之一正在发生:
IDENTIFIER
之前的语法中还有另一条规则,该规则也与输入main
匹配。grammar T
而不是parser grammar T
或lexer grammar T
),其中一个解析器规则包含文字'main'
,导致单独的lexer规则是为这个文字隐式创建的。