课程介绍-编译构建(全英)
课程名称:编译构建(全英)
课程类别:专业选修课
学分:2
先修课程:计算机程序设计
考核方式:闭卷考试
授课老师:蒋志华
教学目标:
让学生深入地理解计算机程序是如何在计算机上执行的,在语言的翻译或者解释过程中所发生的事情,以及什么是语法分析和语义分析等问题.通过对编译过程的了解,使得学生能够编写更好更快的程序以及更好地理解计算机科学.
教学要求:以老师讲授为主,学生讨论为辅来组织课堂学习。要求学生按时上课和按时完成课后习题。
教学内容:
1. 引言:介绍整个编译过程概况,以及编译器中的数据结构
2. 词法分析:介绍正规表达式,自动机以及如何从正规表达式转换到确定有限自动机
3. 上下文无关文法和语法分析:介绍什么是上下文无关文法,如何生成语法树,以及上下文无关语言的形式属性
4. 自顶向下的语法分析:介绍递归下降过程, LL(1)语法分析, first集和follow集
5. 自底向上的语法分析:介绍LR(0)项和LR(0)语法分析, SLR(1)语法分析, LR(1)和LALR(1)语法分析
6. 语义分析:介绍属性文法和属性计算过程,符号表和数据类型检查
7. 运行环境:介绍完全静态的运行环境,基于栈的运行环境和动态运行环境,以及消息传递机制
8. 代码生成:介绍中间语言,数据结构引用的代码生成,控制语句和逻辑表达式的代码生成,过程和函数调用的代码生成.
教材:
《编译原理与实践》(英文影印版),Kenneth C. Louden著,机械工业出版社,58.0元,ISBN:978-7-111-10842-9
参考书目:
《编译导论》, Alfred V. Aho等著,机械工业出版社,78.0元, ISBN:978-7-111-32674-8