我想用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