而字符串文字我的意思是那些也包含\123
的字符。 我寫的東西,但我不知道它是完美的:有沒有java字符串文字的jflex規範?
<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
般的人物,我不把字符本身在字符串中,但它的表示代替。 我可能會嘗試使用字符方法將其轉換,但也許我並不詳盡,也許還有其他轉義序列我沒有處理....所以如果有一個規範jflex文件,它將是完美的。