【发布时间】:2015-06-09 09:28:40
【问题描述】:
我必须使用 antlr
解析以下查询sys_nameLIKEvalue
这里 sys_name 是一个有小写和下划线的变量。 LIKE 是一个固定的关键字。
value 是一个变量,可以包含小写大写和数字。
低于我正在使用的语法规则
**expression : parameter 'LIKE' values EOF;
parameter : (ID);
ID : (LOWERCASE) (LOWERCASE | UNDERSCORE)* ;
values : (VALUE);
VALUE : (LOWERCASE | NUMBER | UPPERCASE)+ ;
LOWERCASE : 'a'..'z' ;
UPPERCASE : 'A'..'Z' ;
NUMBER : '0'..'9' ;
UNDERSCORE : '_' ;**
测试用例 1
Input : sys_nameLIKEabc
error thrown : line 1:8 missing 'LIKE' at 'LIKEabc'
测试用例 2
Input : sysnameLIKEabc
error thrown : line 1:0 mismatched input 'sysnameLIKEabc' expecting ID
【问题讨论】:
标签: antlr antlr4 string-parsing