文档详情

编译原理和技术演示课件.ppt

发布:2019-02-18约1.32万字共27页下载文档
文本预览下载声明
课 程 简 介 课程要求 质量上的目标:师生共同努力,达国内最好水平 讲课进展较快,平时不复习并加深理解,后面将听不懂 作业:少而精,周一课间交作业 课程设计:自己动手,大有收获 考试:开卷,灵活运用知识 学期总评 = 考试成绩占60%,作业占10%,课程设计30% 上课、设计、考试时间大体安排 精选编制 课 程 简 介 课程设计要求 内容:独立地研发扩展PL/0语言的编译器和解释器 目标:巩固对理论和技术的理解,提高程序设计能力 技术准备:VC++的编程环境,C语言编程 考查与评分:对截止时间前提交的程序,通过测试和答辩进行公开评分 前四年课程设计的经验和教训 对该课程设计的综合性认识不足 对考查的“动真格”认识不足 精选编制 对 课 程 的 评 论 本校少年班1994级一个同学,Stanford大学博士(1999年) Actually I think the quality of the compiler course in USTC is really very good and can be compared with any universities here. 本系某考研同学(2006年) 感觉您出的题目很有创意,也很有深度 ,没有局限于固定的算法和题型,只看课本和复习往年的题目而不深入思考的人是做不出来的,能够真正从本质上考察一个考生的水平 精选编制 对 课 程 的 评 论 西南科技大学某考研学生(2004年) 看过你编的书后,感觉编译的原理可以一下子和我平常学的很多学科和语言都联系起来了,可以学到很多可以实际用到的东西,虽然是在讲同样的东西,但您的教学方式让我很适应,学起来也很有兴趣,大大减轻了我考研的疲劳感 精选编制 第一章 引 论 名词解释 翻译器(translator)、编译器(compiler) 解释器(interpreter) 编译器从逻辑上可以分成若干个阶段 每个阶段把源程序从一种表示变换成另一种表示 本章通过描述编译器的各个阶段来介绍编译这个课题 精选编制 1.1 编译器概述 词法分析器 语法分析器 语义分析器 源程序 中间代码生成器 独立于机器的代码优化器 代码生成器 依赖于机器的代码优化器 目标机器代码 符号表 精选编制 符 号 表 position initial rate . . . . . . . . . 1 2 3 词法分析器 ?id, 1? ?=? ?id, 2? ?+? ?id, 3? ??? ?60? position = initial + rate ? 60 1.1 编译器概述 ? 记号流 ? 字符流 精选编制 1.1 编译器概述 表达式的语法特征 任何一个标识符都是表达式 任何一个数都是表达式 如果e1和e2都是表达式,那么 ? e1 + e2 ? e1 * e2 ? (e1) 也都是表达式 表达式 表达式 表达式 标识符 表达式 表达式 (initial) 标识符 (rate) 数 (60) * + initial + rate * 60的分析树 精选编制 符 号 表 position initial rate . . . . . . . . . 1 2 3 语法分析器 ?id, 1? ?=? ?id, 2? ?+? ?id, 3? ??? ?60? ?=? ?+? ??? ?60? ?id, 1? ?id, 2? ?id, 3? ? 语法树 1.1 编译器概述 ? 记号流 精选编制 符 号 表 position initial rate . . . . . . . . . 1 2 3 1.1 编译器概述 语义分析器 ?=? ?+? ??? ?60? ?id, 1? ?id, 2? ?id, 3? ?=? ?+? ??? inttofloat ?id, 1? ?id, 2? ?id, 3? ?60? ? 语法树 ? 语法树 精选编制 符 号 表 position initial rate . . . . . . . . . 1 2 3 中间代码生成器 t1 = inttofloat(60) t2 = id3 ? t1 t3 = id2 + t2 id1 = t3 ?=? ?+? ??? inttofloat ?id, 1? ?id, 2? ?id, 3? ?60? 1.1 编译器概述 ? 三地址中间代码 ? 语法树 精选编制 符 号 表 position initial rate . . . . . . . . . 1 2 3 代码优化器 t1 = inttofloat(60) t2 = id3 ? t1 t3 = id2 + t2 id1 = t3 t1 = id3 * 60.0 id1 = id2 +
显示全部
相似文档