欢迎来到天天文库
浏览记录
ID:29735923
大小:23.43 KB
页数:22页
时间:2018-12-22
《lex实验报告(共10篇)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划lex实验报告(共10篇) 编译原理课程实验报告 实验名称:基于LEX的词法分析器学生姓名:赵宁 学生学号:XX0XX9 指导教师毛静 一、实验目标 自动构造C-语言的的词法分析器,要求能够掌握编译原理的基本理论,,理解编译程序的基本结构,掌握编译各阶段的基本理论和技术,掌握编译程序设计的基本理论和步骤.,增强编写和调试高级语言源程序的能力,掌握词法分析的基本概念和实现方法,熟悉C-语言的各种Token。
2、二、实验原理及方法 Lex输入文件由3个部分组成:定义集,规则集和辅助程序集或用户程序集。这三个部分由位于新一行第一列的双百分号分开,因此,Lex输入文件的格式如下 {definitions} %% {rules} %% {auxiliaryroutines} 而且第一部分用“%{”和“%}”括起来。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及
3、个人素质的培训计划 第一和第三个部分为C语言的代码和函数定义,第二个部分为一些规则。 定义正则表达式如下 ID=letterletter* NUM=digitdigit* Letter=a
4、?
5、z
6、A
7、?
8、Z Digit=0
9、?
10、9 Keyword=else
11、if
12、int
13、return
14、void
15、while Specialsymbol=+
16、-
17、*
18、/
19、
20、>=
21、==
22、!=
23、=
24、;
25、,
26、
27、[
28、]
29、{
30、}
31、/*
32、*/ Whitespace=“” Enter= 在lex中的构造 letter[A-Za-z]
33、digit[0-9] id({letter}
34、[_])({letter}
35、{digit}
36、[_])* error_id({digit})+({letter})+ num{digit}+ whitespace[t]+ enter[]+ 构造DFA图 三、实验内容目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 ?Win7下l
37、ex与yacc的安装配置; ?利用ParserGenarator的词法分析器构造 四、实验步骤 1)Win7下lex与yacc的安装配置 1、lex的安装 首先,下载下载flex和bison. 其次,安装完毕后,将c:gnuwin32lib里面的和复制到C:MinGWlib里面。 再者,设置环境变量。 最后,测试安装是否成功。 2、使用lex生成此法分析器: 新建文本文件,更改名称为,敲入下面代码-------词法分析器的源代码%{ intwordCount=0; intnumcount=0; %
38、} chars[A-Za-z_'."] numbers([0-9])+ delim[""t] whitespace{delim}+ words{chars}+ %%目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 while{ECHO;printf("%s",yytext);} {words}{wordCoun
39、t++; /*increasethewordcountbyone*/} {whitespace}{/*donothing*/} ([0-9])+{numcount++;/*onemaywanttoaddsomeprocessinghere*/%% voidmain() { printf("ok1"); yylex();/*starttheanalysis*/ printf("ok2"); printf("Noofwords:%dnumber:%d",wordCount,numcount); re
40、turn0; } intyywrap() { return1;} }目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项
此文档下载收益归作者所有