编译原理
编译原理
5000+ 人选课
更新日期:2025/06/23
开课平台学堂在线
开课高校哈尔滨工程大学
开课教师刘刚付岩曹雪李丽洁高迪
学科专业工学计算机类
开课时间2025/01/15 - 2025/07/22
课程周期27 周
开课状态开课中
每周学时-
课程简介

本课程是计算机科学与技术专业的核心课程之一,主要讲述程序设计语言编译构造的基本原理和基本实现方法。本课程主要讲授正则表达式、有穷自动机、自顶向下语法分析、中间代码生成、符号表的组织与管理、代码生成与优化问题等内容。本课程的知识点支撑计算机科学与技术专业的毕业要求2(问题分析)和毕业要求4(研究)。


课程大纲
第一章 编译原理概述
1.1编译原理概论
1.2编译程序的结构
1.3编译器的构造和组成(一)
1.4编译器的构造和组成(二)
1.5编译器运行的辅助程序与工具
1.6编译器运行的主要数据结构(一)
1.7编译器运行的主要数据结构(二)
1.8自举与移植(一)
1.9自举与移植(二)
第二章 词法分析
2.1扫描过程
2.2正则表达式(一)
2.3正则表达式(二)
2.4正则表达式(三)
2.5有穷自动机(一)
2.6有穷自动机(二)
2.7非确定型有穷自动机(一)
2.8非确定型有穷自动机(二)
2.9从正则表达式到DFA(一)
2.10从正则表达式到DFA(二)
2.11从正则表达式到DFA(三)
2.12从正则表达式到DFA(四)
第三章 上下文无关文法
3.1上下文无关文法和语法分析
3.2推导(一)
3.3推导(二)
3.4分析树和抽象语法树
3.5二义性文法
3.6扩展的表示:EBNF和语法图
3.7上下文无关语言的形式属性
3.8面向TINY的上下文无关文法
第四章 自顶向下的语法分析
4.1自顶向下的语法分析介绍
4.2递归下降分析(一)
4.3递归下降分析(二)
4.4自顶向下分析中的差错恢复
4.5LL(1)分析(一)
4.6LL(1)分析(二)
4.7LL(1)文法
4.8First集合
4.9Follow集合(一)
4.10Follow集合(二)
4.11LL(1)分析表
4.12LL(1)文法中存在的问题
4.13消除左递归与提取左因子
第五章 语义分析
5.1属性文法与语义规则的提取(一)
5.2属性文法与语义规则的提取(二)
5.3相关图的构造
5.4合成属性和继承属性
第六章 运行时环境
6.1运行时环境(一)
6.2运行时环境(二)
6.3栈式存储分配的实现(一)
6.4栈式存储分配的实现(二)
第七章 中间代码与代码生成
7.1中间代码(一)
7.2中间代码(二)
7.3后缀表示(一)
7.4后缀表示(二)
7.5三地址码(一)
7.6三地址码(二)
7.7P代码
7.8代码生成技术
期末测试