【发布时间】:2010-02-02 09:05:53
【问题描述】:
我所说的字符串字面量也是指那些包含\123-like 字符的字面量。
我写了一些东西,但我不知道它是否完美:
<STRING> {
\" { yybegin(YYINITIAL);
return new Token(TokenType.STRING,string.toString()); }
\\[0-3][0-7][0-7] { string.append( yytext() ); }
\\[0-3][0-7] { string.append( yytext() ); }
\\[0-7] { string.append( yytext() ); }
[^\n\r\"\\]+ { string.append( yytext() ); }
\\t { string.append('\t'); }
\\n { string.append('\n'); }
\\r { string.append('\r'); }
\\\" { string.append('\"'); }
\\ { string.append('\\'); }
}
事实上,我知道这并不完美,因为对于解析\ddd-like 字符的三行,我没有将字符本身放入字符串中,而是将其表示。
我可能会尝试使用字符方法对其进行转换,但也许我并不详尽,也许还有其他我没有处理的转义序列....所以如果有一个规范的 jflex 文件,那将是完美的。
【问题讨论】: