flex简单示例

2020-07-18  本文已影响0人  一路向后

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
上一篇 下一篇

猜你喜欢

热点阅读