编译原理
1000+ 人选课
更新日期:2025/06/22
开课平台优学院
开课高校广州大学
开课教师汤茂斌何锫吴昱唐卷陈康民
学科专业工学电子信息类
开课时间2022/09/01 - 2023/02/28
课程周期26 周
开课状态已结课
每周学时-
课程简介

        一、课程介绍    

      《编译原理》课程是计算机专业必修的一门重要的专业基础课程,也是计算机系统软件中非常重要的一个分支。通过本课程的学习和实践,学生可以掌握编译技术的经典理论——原理、方法和技术,包括编译程序构造的一般原理、基本设计方法和主要实现技术,了解编译系统的结构和工作流程、编译程序各相关部分的设计依据和实现技术等,同时也使学生具备设计、实现、分析和维护编译程序等方面的初步能力。

 

        二、课程特色

       利用在线开放课程平台,实现“知识传授+知识内化”的翻转课堂模式,通过课程教学资源网站、在线题库练习(含交互式解答过程演示)、动画、视频等多种手段和方式营造沉浸式、全方位的学习环境。同时线下将每一章节的主要知识点整合出一系列可执行性强的编译技术开发案例,从学生学习习惯的角度出发,运用实验辅助平台,帮助学生逐步完成“理论答题”Þ“求解方法描述”Þ“流程图绘制”Þ“整体运行框架下的部分代码填充”Þ“整体代码的模块划分和封装”等各阶段的教学和练习,循序渐进、由浅入深地实现从理论学习到技术实践的过渡,完善考评制度,将学生的线上自主学习效果和线下的课堂学习表现以及平时线上测验成绩均纳入到课程的评价之中,全方位激发学生的学习兴趣,提高学生的创新能力。

 

     三、教材与教学参考书

       教材:胡元义,《编译原理教程(第四版)》,西安电子科技大学出版社,2015

       教学参考书:

       1、陈火旺,钱家骅,孙永强,《程序设计语言编译原理(第三版)》,国防工业出版社,2005

       2、吕映芝,《编译原理》,清华大学出版社,2005

       3、Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman,《Compilers  Principles, Techniques, and Tools(第二版)》中译本,机械工业出版社, 2008

课程大纲
第一章 绪论
本章导学
1.1 课程的简介
1.2 编译程序概述
1.3 编译程序的过程和结构
第二章 词法分析
本章导学
2.1 词法分析器的概述
2.2 状态转换图
2.3 语言的基本概念和运算
2.4 有限自动机(DFA和NFA)
2.5 正规表达式到有限自动机的构造1——由正规式构造NFA
2.6 正规表达式到有限自动机的构造2——NFA的确定化
2.7 正规表达式到有限自动机的构造3——DFA的化简
2.8 正规表达式到有限自动机的构造示例(含FA到正规式的转换)
第三章 语法分析
本章导学
3.1 文法和语言的基本概念
3.2 形式语言分类
3.3 子树、短语、句柄和素短语
3.4 文法的二义性和消除
3.5 文法的自上而下分析法概述
3.6 自上而下分析法——递归下降分析法
3.7 自上而下分析法——LL(1)分析法(1)
3.8 自上而下分析法——LL(1)分析法(2)
3.9 自上而下分析法——LL(1)分析法(3)
3.10 自下而上分析法概述
3.11 自下而上分析法——算符优先分析法(1)
3.12 自下而上分析法——算符优先分析法(2)
3.13 自下而上分析法——LR(0)分析法(1)
3.14 自下而上分析法——LR(0)分析法(2)
3.15 自下而上分析法——LR(0)分析法(3)
3.16 自下而上分析法——LR(0)分析法(4)
3.17 自下而上分析法——SLR(1)分析法概述
第四章 语义分析与中间代码生成
本章导学
4.1 语义分析概述
4.2 几种常见的中间语言
4.3 布尔表达式和控制语句的翻译