《编译原理》课程实验报告(词法分析)

《编译原理》课程实验报告(词法分析)

ID:33530903

大小:104.50 KB

页数:6页

时间:2019-02-26

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

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

1、信息科学与工程学院__《编译原理》_实验报告系别计算机科学与工程专业计算机科学与应用班级_____计122_______学号_____10123544_____姓名_____陈柏君_________指导教师金登男2014学年第二学期实验题目:词法分析1.实验日期:2015.4.9-2015.4.162.实验环境(操作系统,开发语言)操作系统:Windows开发语言:C3.实验要求3.1.用C语言开发词法分析程序PL0Compiler。3.2.修改PL/0词法,将其定义为一种新的语言,例如称其为PL/1语言,并完

2、成PL/1语言的词法分析程序。4.实验步骤4.1.用PL/0语言编写PL/0测试用例源程序,将其命名为Test0.pl。4.2.用C语言开发PL/0词法分析程序PL0Compiler。PL0Compiler读入Test0.pl,识别出一个个单词,并将这些单词流依序同时输出到屏幕和文件中。被输出的每个单词应包括(1)单词序号(2)单词字符串(3)单词类型(4)单词值(如果是标识符,其值是字符串;如果是数,其值是数值;如果是符号,其值是ASCII代码…)在程序开发过程中,应设立断点,单步运行词法分析程序,依次输出一

3、个个单词。分析和理解词法分析程序,解释词法分析程序中的数据和变量变化的原因和输出结果。4.3.研究其他程序设计语言,找出与PL/0词法不同的构词法则(例如C语言的标识符的组成规则与PL/0标识符的组成规则有所不同)。据此修改PL/0的某些词法(例如,将PL/0标识符组成规则修改为C语言的标识符的组成规则),将其定义为一种新的语言,例如称其为PL/1语言。4.4.用PL/1语言编写PL/1测试用例源程序,将其命名为Test1.pl。4.5.开发PL/1词法分析程序PL1Compiler。(可通过修改原PL0Com

4、piler,实现PL/1语言的词法分析功能)。4.6.PL1Compiler读入Test1.pl,识别出一个个单词,并将这些单词流依序同时输出到屏幕和文件中。5.实验结果(Test1.pl内容,PL1Compiler词法分析程序输出的第1张截图)Test1.pl内容:const_c1=2,A_2=4.56.00;VARx,num,sum;procedurefunc1;vary;y:=c1;beginsum:=8.32;read(x);num:=10-x/c2;ifnum<-2thenx:=-c1;ifnum>2

5、+2*c2thenx:=8-c2;whilex='a'&&cACharacter<='z'

6、

7、cAChar

8、acter>='A'&&cACharacter<='Z'

9、

10、cACharacter=='_'){nAWordIndex=0;do{if(nAWordIndex='a'&&cACharacter<='z'

11、

12、cACharacter>='0'&&cACharacter<='9'

13、

14、cAChar

15、acter>='A'&&cACharacter<='Z'

16、

17、cACharacter=='_')&&cACharacter!=EOF);功能:标识符可以以大写,小写,下划线的混合形式出现。intk=0;for(intj=0;j1)g_Words[g_nWordsIndex].eType=ERROR_num;if(k==0

18、)g_Words[g_nWordsIndex].eType=NUMBER_INT;功能:此部分代码可以对数进行识别,根据小数点的个数,如果没有小数点那么是INT型,有一个小数点是DOUBLE型,有多于两个小数点那么就会报错for(intj=1;j

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

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

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