当您为ANTLR编写词法分析器语法时,是否可以指定一个方法,该方法决定一个规则是否应该接受读取字符?
例如:
WS : x = . [ only accept, iff Character.isWhitespace($x.text[0])==true] -> skip
答案 0 :(得分:1)
是的,使用语义谓词:
WS : . {Character.isWhitespace(getText().charAt(0))}?
-> skip
;
但它不会很快。