编 译 原 理 指导教师:杨建国 二零一零年三月
计算机科学与技术辅修专业 注册、收费通知 日期:2010年3月18日(第三周 星期四) 时间:9:15—15:15 地点:信息楼422 本学期学分:7 学费:700元。 请同学们将钱存于校园卡中,带好听课证,按时注册,过时作自动放弃处理。 计算机科学与工程系 2010.3.6
联 系 方 式 QQ : 383108986 MSN : yang2003915@hotmail.com 联 系 方 式 QQ : 383108986 MSN : yang2003915@hotmail.com 电子邮件: yangjg@ecust.edu.cn 个人网站: www.snwei.com(盛威网) 资料下载:http://www.snwei.com/studypc/studypc.htm 办公室:梅陇校区八教403
《编译原理》课程说明 上课时间: 1-17周(周六)D106 上机时间:16课时 理论和实践并重的课程 按要求完成相应的实验(包括实验报告)和作业 关于考试:作业、实验、考勤 30%;期末考试70%( 迟到、早退、旷课、上机玩游戏和聊天、带签名扣3分) 选科代表
学习《编译原理》有用吗? 至少可以拿学分、完成后续课程《系统软件课程设计》、考研、培养理论学习能力、编写更好的程序 有利于对程序设计语言的理解,可以比较迅速地掌握新的语言工具。计算机专业人员学习了编译课程,就不能说:“某一门语言未学过,所以不会” 有利于从事软件设计 编译课程蕴含着计算机学科中解决问题的思路、抽象问题和解决问题的方法。让计算机学生“享用一辈子”
如何学好《编译原理》? 疑问预习:我会怎么设计?找出难点 认真听课:笔记(PPT打印)、快速思考 独立完成作业:有没有其它方法 合作实现实验:自己写一些小的编译器 合作设计《课程设计》:设计一个完整的编译器 阅读大量的参考书、百度和GOOGLE是最好的老师
开设《编译原理》目的 系统地向学生讲述编译系统的结构、工作流程及编译程序各组成部分的设计原理和实现技术,使学生通过本课程的学习之后,既掌握编译理论和方法方面的基本知识,也具有设计、实现、分析和维护编译程序等方面的初步能力
《编译原理》知识结构 第三章文法和语言 第四章词法分析
《编译原理》教材及主要参考书 教材:《编译原理》(第2版),张素琴、吕映芝、蒋维 杜、戴桂兰,清华大学出版社,2007.5 参考书: ◎《编译技术》(第二版),钱焕延,东南大学出版社, 2005.1 ◎《编译原理课程设计》,王雷、刘志成、周晶,机械 工业出版社,2005.3 ◎《编译原理学习辅导》,张伟,清华大学出版社,2005.7
《编译原理》教材及主要参考书 ◎《编译原理习题与解析》,伍春香,清华大学出版社, 2001.8 ◎《编译原理》,蒋立源,西北工业大学出版社,1996.2 ◎ 参考教案:清华大学教案、视频(清华大学、东南大学、 北京交通大学、西北工业大学、四川电视大学) ◎ 《编译原理》,何炎祥,高等教育出版社,2004.8 ◎ 《计算机编译原理-编译程序构造实践》,张幸儿,科 学出版社,2005.7
◎ 《编译原理》,Alfred V.Aho、Ravi Sethi 、Jeffery D.Ullman著,李建中、姜守旭译 ,机械工业出版社, 我的昵称是龙书 ◎ 《编译原理》,Alfred V.Aho、Ravi Sethi 、Jeffery D.Ullman著,李建中、姜守旭译 ,机械工业出版社, 2006.2 Alfred V.Aho:AT&T贝尔实验室计算机原理研究部负责人 Ravi Sethi: AT&T贝尔实验室研究人员 Jeffery D.Ullman:斯坦福大学计算机科学系教授 本书是编译原理课程的经典教材
◎ 《现代编译原理C语言描述》,Andrew W.Appel著,赵克 佳、黄春、沈志宇译,人民邮电出版社,2006.4 我的昵称是虎书 ◎ 《现代编译原理C语言描述》,Andrew W.Appel著,赵克 佳、黄春、沈志宇译,人民邮电出版社,2006.4 设计了一个“学生项目编译器”的框架和模块接口 前端增加面向对象的程序设计语言、函数式程序设计语言 后端增加针对现代计算机体系结构特征的一些优化方法
◎ 《高级编译器设计与实现》,马其尼克著,沈志宇 、 赵 克佳译,机械工业出版社,2005.7 为理解高级编译器设计的主要问题奠定了基础 我的昵称是鲸书 ◎ 《高级编译器设计与实现》,马其尼克著,沈志宇 、 赵 克佳译,机械工业出版社,2005.7 为理解高级编译器设计的主要问题奠定了基础 深入阐述优化问题 用Sun的SPARC、IBM的POWER和PowerPC、DEC的Alpha 以及Intel的Pentium和相关商业编译 器作为案例,说明编译 器结构、中间代码设计和各种优化方法 给出大量定义清晰的关于代码生成、优化和其他问题的算法 介绍由作者设计的以清晰、简洁的方式描述算法的语言ICAN (非形式编译算法表示)
◎《编译原理及实践》,Kenneth C.Louden著,冯博琴、冯 岚等译,机械工业出版社,2003.3 包含了面向对象语言的编译技术 提供了较完整的适用于教学实践的样例语言
编 译 原 理 教 案 第一章 引论 第二章 PL/O编译程序的实现 第三章 文法和语言 第四章 词法分析 第五章 自顶向下语法分析方法 第一章 引论 第二章 PL/O编译程序的实现 第三章 文法和语言 第四章 词法分析 第五章 自顶向下语法分析方法 第六章 自底向上优先分析 第七章 LR分析
编 译 原 理 教 案 第八章 语法制导翻译和中间代码生成 第九章 符号表 第十章 目标程序运行时的存储组织 第十一章 代码优化 第八章 语法制导翻译和中间代码生成 第九章 符号表 第十章 目标程序运行时的存储组织 第十一章 代码优化 第十二章 代码生成 第十三章 编译程序的构造 第十四章 面向对象语言的编译 第十五章 编译程序的面向对象构造