2015编译原理实验一指导手册.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015编译原理实验一指导手册

2015-2016学年第一学期《编译原理》实验一 指导手册 2015-9-16 实验一:词法分析程序 一、实验目的 1、构造一个《科学计算器》的词法分析程序,程序要求能对输入的字符串流进行词法分析。 2、在实验的过程中,学会应用词法分析的方法——构造NFA和DFA。 二、实验内容和要求 1、科学计算器的功能 作为一个科学计算器,最重要的自然是能够计算,以下是罗列的一些可以实现的功能: 1) 基本四则运算 2) 三角函数计算 3) 指幂运算 4) 表达式求值 5) log运算 6) 提供一些基本常数,如PI、e等 7) 进制转换 8) 变量存储 2、要实现该科学计算器,本次实验首先需要完成词法分析,下面列举4个输入的表达式,: 1.0+2*3= 1.0+(2*3+cos3)/3.6-6= tg(1.0+(sin2*3+cos3)/3.6-6)= 4.0log(1.0+(sin2*3+cos3)/3.6-6)= 我们期望程序能根据实现的DFA对任给的一个输入串进行词法分析,程序的输出为单词的token序列$(CLASS, VALUE) 。CLASS中存放类别,VALUE中存放token的值,如第一个算式,其输出为: $(CLASS, VALUE) $( number, 1.0) $( plus, + ) $(number, 2) $(mul, * ) $(number, 3) 关于TOKEN的分类(CLASS),可将所有标识符归为一类;将常数归为另一类;保留字和分隔符则可采取一词一类。 对于变量标识符和常数,CLASS字段为相应的类别码,VALUE字段则是该标识符、常数在其符号表中登记项的序号。 3、程序应通过DFA来完成词法分析。可参考的DFA如下图: 图中每一个箭头表明一个字符的输入,由于这个输入,自动机从一个状态变为另一个状态。同学们可以根据自己的理解自行设计DFA。该DFA需能够识别本实验中要实现的科学计算器的所有TOKEN。 采用有限自动机(DFA)进行分析,对于特定符号如+、-、*、/、%、(、)、!、^、=,为每一个符号提供一个状态、而其他的一些由字母组成的符号,如ans、pi、sto、clr等,则作为是一个词,之后再对词进行分类处理。 三 、实验报告要求 实验报告应包括以下几个部分: 1 token的正规式描述 2有限状态机状态图 3词法分析器的数据结构与算法 4 token的输出 四、思考题 程序设计中哪些环节影响词法分析的效率?如何提高效率? 参考文献 (美)Kenneth C. Louden著,冯博琴、冯岚等译,《编译原理及实践》,机械工业出版社。 吕映芝,张素琴等编:《编译原理》,清华大学出版社 陈火旺等编著,《程序设计语言:编译原理》,国防工业出版社。

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档