我有以下输入数据:
Valid string: "123A"
Invalid string: "123 A"
Valid string: "111A <= 5 AND 222A"
Invalid string: "111 A <= 5 AND 222A"
下面你可以看到我正在使用的语法(antlr 3.4)。
my_id: INT ('A'|'a') -> INT;
fragment DIGIT: '0' .. '9';
INT : DIGIT+ ;
WS : (' '|'\t'|'\n'|'\r')+ {$channel=HIDDEN;} ;
问题是my_id
与123 A
和123A
都匹配。检测123 A
时如何抛出解析错误?
任何帮助都很高兴。