1.程序源码
%{
/*
* 这是一个示例演示了非常简单的识别
* 动词/非动词
*/
%}
%%
[\t ]+ /* 忽略空白 */ ;
is |
am |
are |
were |
was |
be |
being |
been |
do |
does |
did |
will |
would |
should |
can |
could |
has |
have |
had |
go { printf("%s: 是一个动词\n", yytext); }
[a-zA-Z]+ { printf("%s: 不是一个动词\n", yytext); }
.|\n { ECHO; /* 通常的默认状态 */ }
%%
main()
{
yylex();
}
2.编译源码
lex ch1-02.l
gcc lex.yy.c -lfl
3.运行程序
$ ./a.out
did I have fun?
did: 是一个动词
I: 不是一个动词
have: 是一个动词
fun: 不是一个动词
?
^C
网友评论