做编译原理作业时需要用到flex和bison,于是在Linux下安装了flex和bison
apt install flex bison
新建一个文件,名为test.l
%%
[0-9]+ printf("?");
# return 0;
. ECHO;
%%
int main(int argc, char* argv[]) {
yylex();
return 0;
}
int yywrap() {
return 1;
}
运行如下命令:
flex test.l
gcc -o test lex.yy.c
./test
然后在终端不停的敲入任意键并回车,可以发现,敲入的内容中,除数字外的字符都被原样的输出了,而每串数字字符都被替换成 ? 了。最后敲入 # 后程序退出了。如下:
test
test
1245
?
fdsaf4578
fdsaf?
...
...
#