我想用Lex在双引号内打印文本。Lex用C编码
["]?([A-Z]*[a-z]*[0-9]*)*["]? {
printf("STR(%s),yytext");
return 1;
}
我用这个但蹊跷的是,我不能弄明白。
实施例:
输入
"CNG230 ASN1 Average"
输出
STR("CNG230 ASN1 Average")
实施例2:
输入
"CNG230/492 Global average"
输出
STR("CNG230/492 Global average")
这是一个很好的形式给出感谢那可是appyling这个代码,我得到了错误,说行号和规则不能匹配后也没有包含像/字符的另一个例子。所以,你可以说下面的部分是可以的,但需要了解如何创建[“]?[A-Za-z0-9] * [”]?以正确的方式?谢谢。 – Xethen
我无法调试你没有显示的东西。单独采用(以'%%'为前缀,后跟'%%'),该片段可以编译为一个独立的程序,当我在其中键入''abc def''时,它会以'STR (“abc def”)。所有符合你问的事。没有看到更多的扫描仪,没有人可以告诉你其他代码有什么问题。 –
我设法做到了,但它像STR(“C”STR(N))...我怎么可能在STR(“CNG230 ASN1 Average”)格式中做? – Xethen