2015编译原理实验一指导手册.doc_第1页
2015编译原理实验一指导手册.doc_第2页
2015编译原理实验一指导手册.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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著,冯博琴、冯岚等译,编译原理及实践,机械

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论