2007计软编译原理实验.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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.下面是一个词法分析程序, 该程序能够将源程序,也就是相应字符流转换成内码, 并输 出到文件。 程序的执行需要提供两个参数, 第一个参数是源程序文件名, 第

文档评论(0)

liuxiaoyu92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档