RubbishBin/LexicalParser/pl_start.l

28 lines
665 B
Plaintext
Raw Normal View History

2024-10-30 17:23:52 +08:00
/* 简单词法分析器 */
/* 功能能够识别出以小写字母ab结尾的所有字符串仅含大小写字母并给打印'Hit!' */
/* 说明在下面的begin和end之间添加代码注意格式 */
/* 提示你只需要保证合法的输入以ab结尾的字符串有结果不合法的输入将会包含在.规则中~ */
%{
#include <stdio.h>
%}
%%
/* begin */
[a-zA-Z]*ab {printf("%s: Hit!\n", yytext);}
/* end */
\n {}
. {}
%%
int yywrap() { return 1; }
int main(int argc, char **argv)
{
if (argc > 1) {
if (!(yyin = fopen(argv[1], "r"))) {
perror(argv[1]);
return 1;
}
}
while (yylex());
return 0;
}