课程介绍-编译构建(全英)

文章来源:国际学院 发布时间:2020-06-09 点击数:327 字体:

课程名称:编译构建(全英)

课程类别:专业选修课

学分: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元,ISBN978-7-111-10842-9

参考书目:

《编译导论》, Alfred V. Aho等著,机械工业出版社,78.0, ISBN978-7-111-32674-8