我正在尝试使用 ANTLR 4 解析这样的一行:
circle 'my circle' : posx = '800'; posy = '640';
我希望能够在不处理空格、制表符和换行符的情况下解析它,例如:
circle'my circle':posx='800';posy='640';
或者
circle
'my circle':
posx='800'; posy=
'640'
我现在的语法是:
grammar Circle;
prog
: statement*
;
statement
: circle
;
circle
: INDENT? 'circle' '\'' VALUES '\'' ':' params
;
params
: param+
;
param
: ARG '=' '\'' VALUES '\'' ';'
;
INDENT : [ \t]+;
VALUES : ARG (ARG)* ;
ARG : [a-zA-Z0-9]+;
WS : [ \t\n\r]+ -> skip;
无论如何试图解析这个:
circle 'my circle' : posx='800'; posy = '640';
我有:
line 1:5 mismatched input ' ' expecting '''
关于如何修复语法以解析上面的行文本跳过空格、制表符、在行中间返回的任何想法?