版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广州大学学生实验报告开课学院及实验室:年月日学院计算机科学和教育软件学院年级/专业/班姓名学号实验课程名称编译原理实验成绩实验项目名称词法分析指导老师实验目的设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。针对表达各类词语的一组正规表达式,设计一个确定化的最简的有限自动机,对输入的符号串进行单词划分及词类识别。实验内容将词法分析器分解为以下几个部分:正规表达式的分析:将正规表达式中的符号分解为常量字符、正规表达式标识符和正规表达式运算符,然后基于正规表达式运算将正规表达式分解为更小的正规表达式(通过正规表达式运算符进行串接)。正规表达式到NFA的转换:根据转换规则,基于正规表达式运
2、算,将正规表达式转换为非确定有限自动机,并确定各类词的终止状态。NFA的确定化:通过计算各状态的传递闭包,将NFA确定化,并确定各类词的终止状态。最小化:通过子集法,求得最简的确定有限自动机,并确定各类词的终止状态。例如:分析C语言子集的词法1)关键字mainifelseintreturnvoidwhile(都是小写)2)专用符号=+*/=!=;:,()3)其他模式(正规表达式)STRING:=F*ID:=letter(letter|digit)*INT:=digitdigit*letter:=a|z|A|Zdigit:=0|94)空格由空白、制表符和换行符组成空格一般用来分隔ID、NUM、专
3、用符号和关键字,词法分析阶段通常被忽略。部分单词符号对应的种别码单词符号种别码单词符号种别码main1/25int2(26char3)27if428else5129for630while731词法分析程序的功能return832void9A33STRING5034ID1035INT2036=2137+2238-2329*24J40输入:所给文法的源程序字符串输出:二元组(syn,token或sum)构成的序列。其中syn为单词种别码;token为存放的单词自身字符串;sum为整型常量(作为常量的值)。实现时,可将单词的二元组用结构进行处理代码:#include#includeusingname
4、spacestd;intmain()inti=O,j,k=O;/k判断是保留字还是idchara710=main,if,else,int,return,void,while;保留字数组chars;chartoken40=0;cout请输入字符=a&s=A&s=a&s=A&s=0&s=9)tokeni+=s;s=getchar();for(j=0;j7;j+)判断是否为保留字if(strcmp(token,aj)=0)coutj+1,tokenendl;k=1;break;if(k=O)为idcout10,token=0&s=0&s=9)不是数字flag=0;cout20,tokenendl;m
5、emset(token,0,sizeof(token);i=0;elseif(s=)判断=s=getchar();if(s=)cout39,=endl;s=getchar();elsecout21,=endl;elseif(s=+)判断+cout22,sendl;s=getchar();elseif(s=-)判断-cout23,sendl;s=getchar();elseif(s=*)判断*cout24,sendl;s=getchar();elseif(s=/)判断/cout25,sendl;s=getchar();elseif(s=()判断(cout26,sendl;s=getchar();
6、elseif(s=)判断)cout27,sendl;s=getchar();elseif(s=)判断cout28,sendl;s=getchar();elseif(s=)判断cout29,sendl;s=getchar();elseif(s=)判断cout30,sendl;s=getchar();elseif(s=)判断cout31,sendl;s=getchar();elseif(s=,)判断,cout32,sendl;s=getchar();elseif(s=:)判断:cout33,sendl;s=getchar();试验结果elseif(s=;)判断;cout34,s)判断或=s=getchar();if(s=)cout=endl;s=getchar();elsecoutendl;elseif(s=)判断或=s=g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 原春七年级地理下册 第八章 第三节 撒哈拉以南的非洲教学实录1 (新版)新人教版
- 学业水平考试的目标要求
- 物流配送信息管理系统
- 土木工程认识实习报告合集9篇
- 红楼梦读书心得300字8篇
- 2024-2025学年高中历史 第一单元 古代中国经济的基本结构与特点 第3课 古代商业的发展新课教学实录1 新人教版必修2
- 2024年版制造业临时工雇佣合同3篇
- 川教版(2024)小学信息技术三年级上册《跨学科主题活动-在线健康小达人》教学实录
- 2024年秋七年级历史上册 第19课 北魏政治和北方民族大交融教学实录 新人教版
- 2024年亲子教育杂志订阅与家庭教育指导合同3篇
- 山东省滨州市2023-2024学年高一上学期1月期末考试 政治 含答案
- 电力行业电力调度培训
- 【MOOC】气排球-东北大学 中国大学慕课MOOC答案
- 全力以赴备战期末-2024-2025学年上学期备战期末考试主题班会课件
- 《庆澳门回归盼祖国统一》主题班会教案
- 物流公司自然灾害、突发性事件应急预案(2篇)
- 《视频拍摄与制作:短视频 商品视频 直播视频(第2版)》-课程标准
- 公司战略与风险管理战略实施
- 2024年-2025年《农作物生产技术》综合知识考试题库及答案
- 洗衣房工作人员岗位职责培训
- 广东省广州市白云区2022-2023学年八年级上学期物理期末试卷(含答案)
评论
0/150
提交评论