我想匹配以下输入:
statement span=1m 0_dur=12
使用以下语法:
options {
language = Java;
output=AST;
ASTLabelType=CommonTree;
}
statement :'statement' 'span' '=' INTEGER 'm' ident '=' INTEGER;
INTEGER
: DIGIT+
;
ident : IDENT | 'AVG' | 'COUNT';
IDENT
: (LETTER | DIGIT | '_')+ ;
WHITESPACE
: ( ' '
| '\t'
| '\r'
| '\n'
) {$channel=HIDDEN;}
;
fragment
LETTER : ('a'..'z' | 'A'..'Z') ;
fragment
DIGIT : '0'..'9';
但它会导致错误:
MismatchedTokenException:第 1:15 行不匹配的输入 '1m' 期望 '\u0004'
有谁知道如何解决这个问题?
谢谢查尔斯