- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》实验书
2010 年 11 月
实验目录:
实验 1:词法分析程序( 3 学时,第 12 周) ....................................................................... 2
实验 2:语法分析 -递归子程序法( 3 学时,第 13 周).................................................... 11
实验 3:语法分析 -预测分析法(选做) ............................................................................. 27
实验 4:语义分析和代码生成( 12 学时,第 14~17 周) ................................................. 37
适用专业及实验总学时:
2007 级计算机科学与技术专业 (软件方向 ),18 学时。
任课教师:
黄玲
E-mail: huangl@mailbox.gxnu.edu.cn
恭喜你!你将进入非常重要的专业课程的实践。 编译原理的知识影响到专业人员的素质,
除编译程序外有大量专业工作与编译技术相关 。你现在需要通过脚踏实地的实践学习 (很辛
苦的! ) ,把自己的专业水平提高一个层次。你需要在实验课前自己阅读程序代码,在实验
课中调试程序,实验课后完成实验报告(每一个实验上交一份实验报告) ,实验报告必须阐
述清楚你的所做的工作, 内容包含修改思路、 关键修改代码、 运行结果、 对运行结果的评价、
进一步改进的建议。最重要的是,通过实践你可以获得专业的能力和自信。加油!
1
实验 1:词法分析程序( 3 学时,第 12 周)
一、实验目的和内容:
1.实验目的:通过词法分析程序,了解词法分析的过程。
2.实验内容:用 C 实现对 Pascal的子集程序设计语言的词法识别。
3.实验要求:要求修改文法和程序,增加浮点数处理功能。
4. 实验环境是 Windows 操作系统、 Visual C++ 开发环境。
二、未增加浮点数处理的原设计:
1. 程序设计语言的描述:
程序 →程序首部 分程序 .
程序首部 →PROGRAM 标识符 ;
分程序 →[ 常量说明部分 ][ 变量说明部分 ][ 过程说明部分 ] 复合语句
常量说明部分 →CONST 常量定义 {, 常量定义 };
常量定义 →标识符 =无符号整数
变量说明部分 →VAR 变量定义 {, 变量定义 };
变量定义 →标识符 {, 标识符 }: 类型
类型 →INTEGER|LONG
过程说明部分 →过程首部 分程序 ;{ 过程首部 分程序 ;}
过程首部 →PROCEDURE 标识符 ;|PROCEDURE 标识符 (标识符 :类型);
语句 →赋值语句 |条件语句 |当型循环语句 |过程调用语句 |读语句
|写语句 |复合语句 |ε
赋值语句 →标识符 :=表达式
条件语句 →IF 条件 THEN 语句
当型循环语句 →WHILE 条件 DO 语句
过程调用语句 →标识符 |标识符 (表达式 )
读语句 →READ ( 标识符 ,{ 标识符 })
写语句 →WRITE ( 表达式 {, 表达式 })
复合语句 →BEGIN 语句{; 语句}END
条件 →表达式 关系运算符 表达式 |ODD 表达式
表达式 →[+|-] 项{ 加型运算符 项}
项→因子{ 乘型运算符 因子}
因子 →标识符 |无符号整数 |(表达式 )
加型运算符 →+|-
乘型运算符 →*|/
关系运算符 →=|||=||=
其中:
用左右尖括号括起来的符号串表示非终结符
→ 定义为
{ } 表示该语法成分可以重复 0~n 次
[ ] 表示方括号内为可选项,即 0 或 1 次
2
2. 程序设计语言单词的内部编码: (35 个终结符 )
内 单词 内码 单词 内码 单词 内码 单词
码
1 PROGRAM 2 CONST 3 VAR 4 INTEGER
5 LONG 6 PROCEDURE 7 IF 8 THEN
9 WHILE 10 DO 11 READ 12 WRITE
13 BEGIN 14 END 15 ODD 16 +
17 - 18 * 19 / 20 =
21 22 23 = 24
25 = 26 . 27 , 28 ;
29 : 30 := 31 ( 32 )
33 无符号整数 34 标识符 35 #
3.下面是一个词法分析程序, 该程序能够将源程序,也就是相应字符流转换成内码, 并输
出到文件。 程序的执行需要提供两个参数, 第一个参数是源程序文件名, 第
您可能关注的文档
- 04532财务会计专题2018年_6452.doc
- 06第02课《机器人传动》教学设计.doc
- 06第02课《机器人传动》教学设计_3929.doc
- 06第02课《机器人传动》教学设计_9272.doc
- 07946税法原理.doc
- 07年宁夏医科大学外科学试卷_答案.doc
- 07食品安全事故处置管理制度_5614.doc
- 08电商2班xxx奖学金申请书.doc
- 09235设计原理-历年真题.doc
- 1.1分类加法计数原理和分步乘法计数原理(教案).doc
- 甘肃省白银市会宁县第一中学2025届高三3月份第一次模拟考试化学试卷含解析.doc
- 2025届吉林市第一中学高考考前模拟生物试题含解析.doc
- 四川省三台县芦溪中学2025届高三下第一次测试生物试题含解析.doc
- 2025届江苏省启东市吕四中学高三适应性调研考试历史试题含解析.doc
- 浙江省宁波市十校2025届高三二诊模拟考试历史试卷含解析.doc
- 甘肃省甘南2025届高考生物必刷试卷含解析.doc
- 河北省石家庄市一中、唐山一中等“五个一”名校2025届高考历史四模试卷含解析.doc
- 江西省南昌市进贤一中2025届高考生物考前最后一卷预测卷含解析.doc
- 甘肃省白银市会宁县第四中学2025届高三第二次模拟考试历史试卷含解析.doc
- 宁夏银川市宁夏大学附属中学2025届高考化学押题试卷含解析.doc
文档评论(0)