冰箱的Blog

Windows下配置Yacc和Lex的方法

前言

由于编译原理课程设计需要用到Yacc和Lex,但是根据网上现有的方法又总是无法配置成功。所以在这里,把我摸索的方法写下来,供大家参考。

安装Yacc和Lex

点此下载下载UnxUtils,即从Unix移植到Windows上的程序包。下载完成后解压到某一位置。在环境变量的Path中添加 X:\UnxUtils\usr\local\wbin ,而后设置环境变量 BISON_HAIRY指向bison.hairy,BISON_SIMPLE指向bison.simple(两个文件都在 X:\UnxUtils\usr\local\share 中)。安装完成后,可以在cmd中运行bison.exeflex.exe命令,没有提示外部命令即是配置完成。

安装gcc

由于我们使用的flex和bison都是GNU的工具,所以为了方便,采用的C/C++编译器也 采用GNU的编译器GCC,当然我们需要的也是Windows版本的GCC了。目前Windows平台 的GCC主要是MinGW编译器

点此安装

下载好后的文件是一个包管理器,右击mingw32-gcc-g++,点击Mark for Installed,然后点击左上角Installation菜单,点击Apply Changes进行安装。

《Windows下配置Yacc和Lex的方法》

安装完毕之后,在系统变量的Path加入 X:\MinGW\bin ,至于测试gcc是否安装成功,则要在cmd中执行命令gcc -vg++ -v,如果有返回结果即为配置成功。

测试

1.新建文本文件,更改名称为lex.l,敲入下面代码

%{
intyywrap(void);
%}
%%
%%
intyywrap(void)
{
return1;
}

2.新建文本文件,更改名称为yacc.y,敲入下面代码

%{
void yyerror(const char *s);
%}
%%
program:
;
%%
void yyerror(const char *s)
{
}
int main()
{
yyparse();
return 0;
}

打开cmd,进入到刚才所建立文件(lex.l,yacc.y)所在的文件夹。

1.输入 flex lex.l

2.输入bison yacc.y

如果我们看到当前文件夹上多了两个文件(yacc.tab.c,lex.yy.c),那么说明Lex和Yacc已经安装配置成功。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注