我正在使用Flex,並且我需要做一個首字母縮略詞翻譯器。我試圖在文件結束之前檢測一個字,例如:Flex - 在EOF之前檢測單詞
OEA?
OEA?OEA?
OEA
在這種情況下,彎曲檢測前三的縮寫,但最後OEA不翻譯。我必須在規則下一個代碼:
%%
^OEA$ {fprintf(yyout,"Organizacion de los Estados Americanos");}
{START}OEA$ {fprintf(yyout,"%cOrganizacion de los Estados Americanos",yytext[0]);}
^OEA{END} {fprintf(yyout,"Organizacion de los Estados Americanos%c",yytext[yyleng-1]);}
{START}OEA{END} {fprintf(yyout,"%cOrganizacion de los Estados Americanos%c",yytext[0],yytext[yyleng-1]);}
%%
(起點和終點包含開始和結束的分隔符,例如「」或¿?)
我嘗試使用OEA<<'EOF'>>
,但Flex編譯器顯示"unrecognized rule.."
有人可以幫助我嗎? :)