更新时间:2023-10-22 10:46:40
您需要在语法中将解析器规则(以小写字母开头)放在词法分析器规则(以大写字母开头)之前.遇到词法分析器规则后,[
会触发LEXER_CHAR_SET
而不是ARG_ACTION
,因此编译器看到的令牌流看起来像是传递了一组应该返回值的字符.
You need to place parser rules (start with a lowercase letter) before lexer rules (start with an uppercase letter) in your grammar. After encountering a lexer rule, the [
triggers a LEXER_CHAR_SET
instead of ARG_ACTION
, so the token stream seen by the compiler looks like you're passing a set of characters where the return value should be.