《编译原理》课程实验要求(词法分析).doc_第1页
《编译原理》课程实验要求(词法分析).doc_第2页
《编译原理》课程实验要求(词法分析).doc_第3页
《编译原理》课程实验要求(词法分析).doc_第4页
《编译原理》课程实验要求(词法分析).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

编译原理课程实验报告题目 词法分析 专业 计双二学位 班级 13级 学号 2013708045 姓名 黄山 石河子大学信息学院计算机系 2014年 11月 22 日一. 实验序号:编译原理词法分析实验二. 实验题目:词法分析三. 实验日期: 2014.11.18 四. 实验环境(操作系统,开发语言)操作系统:Windows开发语言:C+五. 实验要求1) 将标识符的词法改为“以大写字母或小写字母开头或下划线开头,后面可以跟大写字母或小写字母或数字或下划线”。2) 将中的表示相等关系的单词“=”改为“= =”;增加用于识别自增、自减、关系运算符、逻辑运算符及逗号运算符的相关语句。3) 将原来无小数的数改为可以识别整数和小数的数。4) 增加识别字符常量和字符串常量的识别。5) 或按C语言单词构成要求编写一个完整的用于识别C语言中各类单词的词法分析程序。六. 实验步骤1) 用PL/0语言编写测试用例源程序。用C语言编写词法分析程序。2) 运行词法分析程序,读入PL/0语言的测试用例源程序,进行词法分析。3) 设立断点,单步运行词法分析程序,依次单个输出单词。分析和理解词法分析程序,解释词法分析程序中的数据和变量变化的原因和输出结果。4) 根据上述“实验要求”修改词法分析程序,同时也应修改PL/0语言测试用例源程序中的相应的单词。5) 运行修改后的词法分析程序,读入修改后的PL/0语言测试用例源程序,进行词法分析。七. 实验结果(测试用例源程序,运行结果截图)(运行结果第一部分显示)(运行结果第二部分显示)(运行结果第三部分显示)八. 实验体会词法分析所修改的地方,主要是在增加用于识别程序的单词及实现过程。具体体现在增加单词类型枚举值、修改打印输出语句、及将枚举单词转化字符串,这些都是添加的单词的过程,但用于实现程序能够识别这些单词的作用意义,就得通过LexicalAnalysis()词法分析函数进行实现目的操作。词法分析扩大了用于识别变化标识符的范围,从原先的只能小写字母开头、数字和小写字母搭配后边的字符,扩充到可以以“下划线”、“大写字母”、“小写字母”开头,“下划线”、“大写字母”“小写字母”“数字”随意搭配后边的字符。同时还增加了用于识别自增运算符的单词AUTO_PLUS、自减运算符AUTO_MINUS、逻辑或OR、逻辑与AND、逻辑非NOT、逗号运算符COMMA及实现过程,此外增加了用来区分整型数字与字符型数字的枚举单词、字符常量与字符串常量及它们各自的实现过程,整型单词INT_NUMBER、浮点型单词FLOAT_NUMBER、字符常量单词CHAR_CONST、字符串常量单词STRING_CONST。对于第一个要求只需按照要求将判断语句的范围扩大即可。第二个要求可以根据已给程序中的原理进行迁移到自己新增的运算符中。第三个识别整型数字与浮点型数字,需要增加一个用于识别小数点的运算符.,再进行判断当前的数字的类型,然后进行转换过程并输出。第四个要求则要新增数组来保存字符常量转化后的字符串类型、字符串常量转化后的字符串类型,并且还要在数组最后加0,用于说明此数组表示的是一个字符串。整个过程还算体会颇深,把c+语言的部分知识都加深了。第一眼看到代码的感觉,密密麻麻的代码,稍稍有点怕,但是一步一步的看下去,分解下去总会感觉整个代码读懂不难,但是在实现要求的操作时

温馨提示

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

评论

0/150

提交评论