我已经定义了一个 ANTLR 语法:
grammar test5;
stats_statement
:
STATS IDENT ASSIGN_SYM functions_stats
;
functions_stats
: COUNT LPAREN IDENT RPAREN
;
STATS
: 'STATS'
;
COUNT
: 'count'
;
IDENT
: (LETTER | '_') (LETTER | DIGIT | '_')*
;
ASSIGN_SYM
: ':='
;
COMMA_SYM
: ','
;
SEMI_SYM
: ';'
;
LPAREN
: '(' ;
RPAREN
: ')' ;
fragment
LETTER : ('a'..'z' | 'A'..'Z') ;
fragment
DIGIT : '0'..'9';
它有一个内置函数“count”。但是,如果我使用以下测试字符串:
STATS count:=count(col1)
解析器将返回一个错误说:
mismatched input 'count' expecting IDENT
有关如何解决此问题的任何线索和/或提示?
谢谢查尔斯