在学习虎书,第二章练习要用lex和yacc,然而作者提供的网址上放的是flex和bison,当然这样更好啦(flex和bison完全兼容lex和yacc)。考虑到在windows下用这两个玩意还要安装masm,所以最后决定上虚拟机(之前操作系统课就装过了,幸亏没卸载哈哈哈)。
Ubuntu下使用sudo apt-get install flex bison命令,不一会就装好了,如图:
然后写了一个测试程序,就用Ubuntu自带的gedit写,保存为.l文件:
%%
[\t]+
is |
am |
are |
was |
were {printf("%s: is a verb\n",yytext);}
[a-zA-Z]+ {printf("%s: is not a verb",yytext);}
.|\n
%%
int main(){
yylex();
}
使用命令lex verb.l
再使用命令gcc lex.yy.l -lfl
最后运行./a.out
这个程序会判断输入的单词是不是动词:
程序成功运行也说明我们安装配置成功了。
来源:oschina
链接:https://my.oschina.net/u/4518215/blog/4751194