如何在flex中映射引号?

问题描述:

如何在flex中映射引号?如:如何在flex中映射引号?

""" {return ' " ';} 

我试过上面的方法,它似乎并没有接受,作为一项规则。

我也曾尝试

"\"" {return ' " ';} 

这也没有奏效。

+0

使用原始字符串前缀(可选)R“分隔符(raw_characters)分隔符”。 http://en.cppreference.com/w/cpp/language/string_literal –

+1

'“\”“'应该可以正常工作。你有[mcve]吗? – rici

"\"" {return ' " ';} 

是不合法Ç。你需要返回'"',没有空格。这只是你匹配的单个字符。您也coud尝试:

["] return '"'; 

,其实我更喜欢省略所有单个特殊字符的规则,只是有

. return yytext[0]; 

在语法的底部。这样,你就没有成千上万的规则+,-等等,偶然的非法字符变成了解析错误,并且可以从错误中恢复。