在一个地方检测令牌但在antlr4中的其他位置忽略

时间:2014-07-19 22:19:31

标签: java parsing antlr4

我的antrl4解析器中的一个规则如下。顶点表示为coorindates列表,每个坐标用空格分隔。

vertex  returns[Vertex value]
    :{$value = new Vertex();} e1=coordinate{$value.addCoordinate($e1.value);}+ 
                             (SPACEDELIMIT e2=coordinate{$value.addCoordinate($e2.value);})* LINEBREAK
    ;

LINEBREAK: NEWLINE+;
SPACEDELIMIT: ' ';
fragment NEWLINE:('\n'|'\r');    
fragment WHITESPACE: (' ' | '\t' | '\r' | '\u000C')+ { skip(); } ;

我想检测其间的空格作为分隔符,以及换行符,但是想要忽略或跳过空格或' \ n'或者' \ t'其他地方的人物。我该如何实现它。我是antlr4的初学者,我不知道为什么我在kexer中使用fragment关键字。这只是一种让事情有效的绝望尝试。

0 个答案:

没有答案