在规则定义中指定方法,以便可以识别某个字符类

时间:2013-02-28 15:52:26

标签: antlr4

当您为ANTLR编写词法分析器语法时,是否可以指定一个方法,该方法决定一个规则是否应该接受读取字符?

例如:

WS  :   x = . [ only accept, iff Character.isWhitespace($x.text[0])==true] -> skip

1 个答案:

答案 0 :(得分:1)

是的,使用语义谓词:

WS : . {Character.isWhitespace(getText().charAt(0))}?
     -> skip
   ;

但它不会很快。