我的语法上有这个lexer规则:
STRING_LITERAL
: '\'' ( ~'\'' | '\'\'' )* '\''
;
当我访问此规则时,我想获得"内容"这个STRING_LITERAL
。所以,这是在'
和最后'
之间的所有内容。
示例:
String s = node.getText();
s -> "'sample string'"
是否有可能触及Lexer规则以获取"内容"字符串?
答案 0 :(得分:0)
为什么不在读取listener / walker / whatever-consume-code中的文本时简单地删除引号? ibre5041是对的,不要在语法中加入太多的处理。语义阶段是一个更好的地方。