我只是在学习flex而且我已经编写了一个flex程序来检测给定的单词是否是动词。我将从文本文件中获取输入。我想改进代码。我想检测代码中是否有任何生成错误或未完成的字符串。未完成意味着它开始使用开始符号(“”或/ *)但没有任何结尾符号和形成错误的方法,例如(“我是“男孩”)或(/ *这是* / comment * /)就像这些。我想在我的代码中检测它们。我将如何做?我的示例代码如下:
%%
[\t]+
is |
am |
are |
was |
were {printf("%s: is a verb",yytext);}
[a-zA-Z]+ {printf("%s: is a verb",yytext);}
["][^"]*["] {printf("'%s': is a string\n", yytext); }
. |\n
%%
int main(int argc, char *argv[]){
yyin = fopen(argv[1], "r");
yylex();
fclose(yyin);
}