计软编译原理实验.docVIP

  • 9
  • 0
  • 约1.27万字
  • 约 28页
  • 2020-11-03 发布于广东
  • 举报
《编译原理》实验书 2010 年 11 月 实验目录: 实验 1 :词法分析程序( 3 学时,第 12 周) 错误 ! 未定义书签。 实验 2 :语法分析 -递归子程序法( 3 学时,第 13 周) 错误 ! 未定义书签。 实验 3 :语法分析 -预测分析法(选做) 错误 ! 未定义书签。 实验 4 :语义分析和代码生成( 12 学时,第 14~17 周) 错误 ! 未定义书签。 适用专业及实验总学时: 2007 级计算机科学与技术专业 (软件方向 ),18 学时。 任课教师: 黄玲 E-mail 恭喜你!你将进入非常重要的专业课程的实践。编译原理的知识影响到专业人员的素 质,除编译程序外有大量专业工作与编译技术相关 。你现在需要通过脚踏实地的实践学习 (很辛苦的! ),把自己的专业水平提高一个层次。你需要在实验课前自己阅读程序代码,在 实验课中调试程序,实验课后完成实验报告(每一个实验上交一份实验报告) ,实验报告必 须阐述清楚你的所做的工作,内容包含修改思路、 关键修改代码、 运行结果、对运行结果的评价、进一步改进的建议。最重要的是,通过实践你可以获得专业的能力和自信。加油! 实验 1:词法分析程序( 3 学时,第 12 周) 一、实验目的和内容: 实验目的:通过词法分析程序,了解词法分析的过程。 实验内容:用 C 实现对 Pascal的子集程序设计语言的词法识别。 实验要求:要求修改文法和程序,增加浮点数处理功能。 实验环境是 Windows 操作系统、 Visual C++开发环境。二、未增加浮点数处理的原设计: 程序设计语言的描述: 程序→ 程序首部 分程序 . 程序首部 → PROGRAM 标识符 ; 分程序 → [常量说明部分 ][变量说明部分 ][过程说明部分 ]复合语句 常量说明部分 → CONST 常量定义 {,常量定义 }; 常量定义 →标识符 =无符号整数 变量说明部分 → VAR 变量定义 {,变量定义 }; 变量定义 →标识符 {,标识符 }:类型 类型→ INTEGER|LONG 过程说明部分 → 过程首部 分程序 ;{过程首部 分程序 ;} 过程首部 → PROCEDURE标识符 ;|PROCEDURE标识符 (标识符 :类型); 语句→ 赋值语句 | 条件语句 | 当型循环语句 | 过程调用语句 | 读语句 | 写语句 |复合语句 | ε 赋值语句 →标识符 :=表达式 条件语句 → IF 条件 THEN 语句 当型循环语句 → WHILE 条件 DO 语句 过程调用语句 →标识符 | 标识符 (表达式 ) 读语句 → READ (标识符 ,{标识符 }) 写语句 → WRITE (表达式 {,表达式 }) 复合语句 → BEGIN 语句 {;语句 }END 条件→ 表达式 关系运算符 表达式 |ODD 表达式 表达式 → [+|-] 项{加型运算符 项} 项→因子 {乘型运算符 因子 } 因子→标识符 | 无符号整数 |( 表达式 ) 加型运算符 →+|- 乘型运算符 →*|/ 关系运算符 →=|||=||= 其中: 用左右尖括号括起来的符号串表示非终结符 → 定义为 { } 表示该语法成分可以重复 0~n 次 [ ] 表示方括号内为可选项,即 0 或 1 次 程序设计语言单词的内部编码: (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 # 下面是一个词法分析程序,该程序能够将源程序, 也就是相应字符流转换成内码,并输 出到文件。 程序的执行需要提供两个参数, 第一个参数是源程序文件名, 第二个参数是存放分析结果的文件名, 第二个参数可以省略, 可由程序自动生成。 Vc++6 程序参数的设置方法: 菜单 project 下子菜单 settings 中的 debug 选项卡下 program arguments 对话框中, 输入参数。如采用 Visual Studio 2008 开发环境,构建控制台应用程序 ,参数设置 :项目属性 -(活动 debug 模式 )配置属性 -调试-命令参数,同时工作目录为当前工程下 debug 。 #include #include #include #incl

文档评论(0)

1亿VIP精品文档

相关文档