Win7下lex_与_yacc的安装配置
Win7下lex 与 yacc的安装配置
一、如何在windows下安装lex。
首先,下载下载flex和bison。安装时,设定路径
最好不要是在Program Files文件夹里面,因为文件夹名字
带空格会影响以后的使用。可如此:安装在c:\gnuwin32下
面。
其次,由于我们使用的flex和bison都是GNU的工
具,所以为了方便,采用的C/C++编译器也采用GNU的编译
器GCC,目前Windows平台 的GCC主要是MinGW编译器。安
装过程中,会自动开启控制台,仅需稍等片刻,任其自动完
成。
安装完毕后,将c:\gnuwin32\lib里面的libfl.a和
liby.a复制到C:\MinGW\lib里面。
再者,设置环境变量。现在该安装的都已安装完毕,
那么我们该设置环境变量了。右键点击“计算机”,“属
性”、“高级系统设置”、“环境变量”,在下面系统变量
里面找到PATH,修改,在后面加上c:\gnuwin32\bin和
C:\MinGW\bin。注意每一个路径是用分号分隔的,然后写第
一个路径,然后分号,第二个路径。如果你的安装的目录和
我不一样,就对应修改。 开始两个简单的文件来测试安装是否成功。
1) 新建文本文件,更改名称为lex.l,敲入下面代码
%{
int yywrap(void);
%}
%%
%%
int yywrap(void)
{
return 1;
}
2) 新建文本文件,更改名称为yacc.y,敲入下面代码
%{
void yyerror(const char *s);
%}
%%
program:
;
%%
void yyerror(const char *s)
{
}
int main()
{
yyparse();
return 0;
}
打开控制台,进入到刚才所建立文件(lex.l,yacc.y)所
在的文件夹。
输入 flex lex.l
输入 bison yacc.y
如果看到当前文件夹上多了两个文件(yacc.tab.c,
lex.yy.c),那么说明lex&&yacc已经安装配置成功。
二、使用lex生成此法分析器:
新建文本文件,更改名称为a.lex,敲入下面代码-------词法分析器
的源代码
%{
int wordCount = 0;
int numcount = 0;
%}
chars [A-Za-z\_\'\.\"]
numbers ([0-9])+
delim [" "\n\t]
whitespace {delim}+
words {chars}+
%%
while {ECHO; printf("%s\n",yytext);}
{words} { wordCount++;
/* increase the word count by one*/ }
{whitespace} { /* do nothing*/ }
([0-9])+ { numcount++; /* one may want to add some processing here*/ }
%%
void main()
{
printf("ok1\n");
yylex(); /* start the analysis*/
printf("ok2\n");
printf(" No of words: %d\n number: %d\n", wordCount, numcount);
return 0;
}
int yywrap()
{
return 1;
}
2、新建文本文件,更名为b.c,敲入下面代码 --------此为输入源代码 asd asdf 23 q
a1
b2
!#@
while
3、打开菜单,运行,输入cmd。
输入:cd 文件夹路径
输入:flex a.lex 回车后生成一个 lex.yy.c文件
输入:gcc -o a lex.yy.c -lfl 回车后生成一个a.exe文件,现在我们已得到了一个简易的词法分析器,下面就是运用次词法分析器,分析下b.c文件
输入:a.exe <b.c> a.txt 回车后生成一个a.txt文件
流程图如下:
结果如下:
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




