标签: antlr antlr4
我想将\'和\"等序列作为词法分析元素
\'
\"
ESCAPESEQUECE : '\\\"' | '\\\'' ;
同时在不转义时区分个别报价
SINGLEQUOTE: '\'' ; DOUBLEQUOTE: '\"' ;
最终目标是通过解析器将字符串识别为MySQL。
这可能/正确吗?
答案 0 :(得分:1)
是的,通过单独的令牌完全可以。
grammar escp; SINGLE: '\''; DOUBLE: '\"'; ESCAPED : '\\"' | '\\\''; char: SINGLE | DOUBLE; escaped : ESCAPED; program: (char | escaped)+;
输入字符串'\"'"\"""'\'\"\'的AST将为:
'\"'"\"""'\'\"\'