《编译原理》课程实验要求(词法分析).doc

《编译原理》课程实验要求(词法分析).doc

ID:52450674

大小:207.00 KB

页数:6页

时间:2020-03-27

《编译原理》课程实验要求(词法分析).doc_第1页
《编译原理》课程实验要求(词法分析).doc_第2页
《编译原理》课程实验要求(词法分析).doc_第3页
《编译原理》课程实验要求(词法分析).doc_第4页
《编译原理》课程实验要求(词法分析).doc_第5页
资源描述:

《《编译原理》课程实验要求(词法分析).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《编译原理》课程实验报告题目词法分析专业计双二学位班级13级学号2013708045姓名黄山石河子大学信息学院计算机系2014年11月22日实验序号:《编译原理》词法分析实验一.实验题目:词法分析二.实验日期:2014.11.18三.实验环境(操作系统,开发语言)操作系统:Windows开发语言:C++四.实验要求1)将标识符的词法改为“以大写字母或小写字母开头或下划线开头,后面可以跟大写字母或小写字母或数字或下划线”。2)将<条件>中的表示相等关系的单词“=”改为“==”;增加用于识别自增、自减、关系运算符、逻辑运算符及逗号运算符的相关语句。3)将原来无

2、小数的数改为可以识别整数和小数的数。4)增加识别字符常量和字符串常量的识别。5)或按C语言单词构成要求编写一个完整的用于识别C语言中各类单词的词法分析程序。五.实验步骤1)用PL/0语言编写测试用例源程序。用C语言编写词法分析程序。2)运行词法分析程序,读入PL/0语言的测试用例源程序,进行词法分析。3)设立断点,单步运行词法分析程序,依次单个输出单词。分析和理解词法分析程序,解释词法分析程序中的数据和变量变化的原因和输出结果。4)根据上述“实验要求”修改词法分析程序,同时也应修改PL/0语言测试用例源程序中的相应的单词。5)运行修改后的词法分析程序,读入

3、修改后的PL/0语言测试用例源程序,进行词法分析。一.实验结果(测试用例源程序,运行结果截图)(运行结果第一部分显示)(运行结果第二部分显示)(运行结果第三部分显示)一.实验体会词法分析所修改的地方,主要是在增加用于识别程序的单词及实现过程。具体体现在增加单词类型枚举值、修改打印输出语句、及将枚举单词转化字符串,这些都是添加的单词的过程,但用于实现程序能够识别这些单词的作用意义,就得通过LexicalAnalysis()词法分析函数进行实现目的操作。词法分析扩大了用于识别变化标识符的范围,从原先的只能小写字母开头、数字和小写字母搭配后边的字符,扩充到可以以

4、“下划线”、“大写字母”、“小写字母”开头,“下划线”、“大写字母”“小写字母”“数字”随意搭配后边的字符。同时还增加了用于识别自增运算符的单词AUTO_PLUS、自减运算符AUTO_MINUS、逻辑或OR、逻辑与AND、逻辑非NOT、逗号运算符COMMA及实现过程,此外增加了用来区分整型数字与字符型数字的枚举单词、字符常量与字符串常量及它们各自的实现过程,整型单词INT_NUMBER、浮点型单词FLOAT_NUMBER、字符常量单词CHAR_CONST、字符串常量单词STRING_CONST。对于第一个要求只需按照要求将判断语句的范围扩大即可。第二个要求

5、可以根据已给程序中的原理进行迁移到自己新增的运算符中。第三个识别整型数字与浮点型数字,需要增加一个用于识别小数点的运算符’.’,再进行判断当前的数字的类型,然后进行转换过程并输出。第四个要求则要新增数组来保存字符常量转化后的字符串类型、字符串常量转化后的字符串类型,并且还要在数组最后加’’,用于说明此数组表示的是一个字符串。整个过程还算体会颇深,把c++语言的部分知识都加深了。第一眼看到代码的感觉,密密麻麻的代码,稍稍有点怕,但是一步一步的看下去,分解下去总会感觉整个代码读懂不难,但是在实现要求的操作时,则要有点思考才能实现操作,比如要思考整型数字与浮

6、点型数字、字符常量与字符串常量的区别,这样才能实现两者的本质操作。总的来说,就是不急不慌读代码。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。