




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编译原理词法分析程序设计实验报告【实验目得】1了解词法分析得主要任务。2 熟悉编译程序得编制。【实验内容】根据某文法 , 构造一基本词法分析程序。找出该语言得关键字、标识符、整数以及其她一些特殊符号,给出单词得种类与值 .【实验要求】1. 构造一个小语言得文法类 C 小语言文法 ( 以 EB F 表示) ?程序: =分程序 分程序 、分程序 : := ,标识符? 函数体: = ; 语句序列 ;语句语句?语句: : = 条件语句 ?赋值语句 : := 标识符 =表达式 表达式: = -项加法运算符项?项 : :=因子 乘法运算符 因子 因子 := 标识符 无符号整数加法运算符:: = +|- :
2、 =if else条件: =关系运算符 表达式?: = |! | =|;表达式 ) 语句序列 函数调用语句: = ,标识符 空 ) ?: = 字母字母 |: =数字 数字 ?字母 : : |b c| X|Y| 数字 : =0|1| | |9单词分类情况关键字 : inif el e fr标识符:以字母开头得字母与数字得组合关系运算符: =! = | =加法运算符: +| ?乘法运算符 : /界符 :,; ( )2. 设计单词得输出形式,单词得种类与值得表示方法种别码单词值如: nt、 编写词法分析程序cffx 、c实现基本得词法分析器, 能够分析关键字、标识符、数字、运算符(需要有“=”或“:
3、之类需要超前搜索得运算符)以及其她一些符号./ 编译原理词法分析程序、 cpp include std、 h#intdli 、 h in u e ring 、h t pee s ructwor s?int id;?c ar ame20 ; h r valu 2 ; word ; h r intege 20 =i, n , t;char if = i f,;char elsee20 = e,, ls, e; ha for 20 f, ,r ;int main ()?har c e 0000;?har ord 20, c; nt , j,, cont,n , m;?i tk=;?w d ymbo
4、500 ;p ntf( 种别码: 1类别:关键字intn );pri t ( 种别码: 2类别 : 关键字 if n”); r n f(”种别码 :3类别 :关键字 els n ” );pri (”种别码:类别:关键字for n); rintf( 种别码 :5 类别:标识符 n ” );printf (”种别码:6类别 :计算运算符 ) ; rin f (”种别码:类别 :关系运算符 n”);printf( 种别码: 8类别 :界符 n);?while ( 1)?gets( cod );? n=s r n( c e);? ( m0, =0; n; m +)?if ( codem a& de m
5、 = z)| ( codem = & co e m=9))? wordsj =c dem ;j+;? ? else? ? f( ords i ords1=n&words 2=t ords3= 0)? ? ? ? sy o 、 id=1;? for( i 0;i 20; )?sym lk、 val ei=wor si;? k+;? ? e s if(words 0 & words 1= f&words 2 = 0)? s mbol k、 d 2;? for( i=0; i 0; i +)? ? ? ?s bolk 、va u i=iff ;? ? ? k+;? ? else if(words =
6、 w ds1 =l &words2 = & words3=e &w rds 4= 0 )? ? ? sy bol k、 d=3;? ?for(i= ; i 20; i+)? ? ? symbol 、 va ue i=el eei;? ? k+;? ? ? ls if(words 0= f words 1=o ords2 =r w rds 3=0)? ? ? symbol 、 d=4;?( i=; i 0;i+)? ? ? ? ymbol k、 alue i=forri ;? ;? ? else? ? symbo k、 id=5;? fo( i=; i20;+)? y bo 、 alue i =
7、wo ds i ;? ?k+;? ? o ( 0; p 0; p+)? words = ;? j=0;? if( codem = )? ? ymbol 、 d6;? symbo 、 vale0 =+;? for( 1; i 20; i+)? ? symbolk、 valuei = ;?k+;? ? i(co em =-)? sy bo k、 id=6; ymb l 、 v ue0 =- ;? or(i=1 ;i;? y lk 、 vl e =;?fo( i= ;i 0;i +)?sy o k、val =0;? ? ?k+;? ?m+;? ? if(codem = &c e m+1 =)? ?
8、? s mb lk 、 id= ;? mbolk 、 v lue = ;? ?s mbo k、 valu 1 = ;? r(i=2 ; i 20; i+)? ? ? ?sy o k、 lu i ;? ? + ;? ? m+;if( ode m= )? ? mbolk 、 id=;s mb l k、 va e = ;? o( =1; i 20;i+)? ? mb k 、va ue i=0;? ? ? k+;? ? i( de m= )? ? sy bo k、 id 7;? ? y bol、value 0= ; ? ? f r(i=; i20; i+)? ?s mb k、 value =0;? ?
9、 +;? (odem= , )? ?sym ol k、 i =8;? symbol k、 value 0,;? ? fo ( =1; i 20; +)?sym 、 val i 0;? ? ? + ;? ? if(code m= ;)? y bol 、 id=;?s ol k、 v lu =; ;for(i=1 ; i20; i+)? ? ? ?sm olk 、valu i 0;?k +;? i( cod m =()? ?s mbol k、 d 8;?symbol k、 alue0 = (;? r ( i=1; 20;i+)?sym ol、va ue =0;? ? ? k+;? if(codem
10、 = ) )? ? sy b l 、 id=8;? sy bolk 、 vlue 0=) ;?for ( i=1; i 0; i )? y b lk 、 valuei =;? ? ? +;? ? i ( oe = )? ? symbol、id= ;? ?symb l 、 a u = ;?for( =; i20; i+)? ?symbo、value i=0;? ? ? k+;? if( co em =)? symbl k、 id=8;? bo k、 v lue 0= ; r( i=1 ;i 0; i+)? sym ol 、 vau i= ;? k+;? co n =k;? s st m(” cl
11、 ) ;fo (i=0;i c u t; +)?printf ( ” %d,”sym li 、 d);? p n f( ”s n”, ymb l i、 v lue);? eturn 0 ;4、生成并输出单词符号表识别单词得状态转换图:字母0数字字符 a字符 b字符 c、流程图其他符号1字母或数字其他符号2 数字字符 a3=456789开始初始化输入语句字母或数字?否是暂存进 wordsWords 内是否为关键字否存入 symbol 结构体(标识符)是存入 symbol 结构体(关键字)输入的字符是否为计否是否为关系运否是否为界符算运算符算符是是是存入 symbol 结构体存入 symbol 结构体(关系运算符)(界符)存入 symbol 结构体(计算运算符)否输出 symbol输入错误结束、源程序清单int , b, ;a= +c;7、测试结果、实验心得:此次实验让我了解了如何设计、编制并调试词法分析程序,并加深了我对词法分析器原理得理解;熟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 63267-3-61:2025 EN-FR Fibre optic interconnecting devices and passive components - Fibre optic connector optical interfaces for enhanced macrobend multimode fibres - Par
- 华为管理课件
- 河北96年中考数学试卷
- 淮海小升初数学试卷
- 健康管理师课件口碑
- 2025届黑龙江省庆安县第三中学物理高二下期末质量跟踪监视试题含解析
- 2025年中国植物蛋白饮料行业市场调查研究及投资前景展望报告
- 交评报告汇报范本1看丹桥工业区项目交通影响评价
- 易拉盖产品项目投资可行性研究分析报告(2024-2030版)
- 2025年中国停车场建设行业发展趋势及投资前景预测报告
- 技术水平评价报告【范本模板】
- 宿州萧县乡镇事业单位招聘考试真题2024
- 2025至2030全球及中国近炸引信传感器行业项目调研及市场前景预测评估报告
- 部编版三年级语文上册 写字表
- 工厂十周年活动策划方案
- 2025至2030临床决策支持系统行业项目调研及市场前景预测评估报告
- 黑启动操作培训课件
- 天津汇融商业管理有限公司招聘笔试题库2025
- 肿瘤的健康科普
- 广东教育学院德育研究中心
- 2025至2030中国清洁机器人市场经营效益与投融资发展状况报告
评论
0/150
提交评论