计算机学院-软件工程专业-编译原理

抱歉,您来晚了,本次开课已结束!
加入课程 1人 收藏
分享到

课程介绍

编译原理是计算机科学与技术专业、软件工程专业的必修核心专业课之一,该课程系统介绍程序设计语言翻译的原理与技术,是一门理论与实践并重的课程,在引导学生进行科学思维和提高学生解决实际问题能力两个方面均有重要的作用。
编译原理是软件工程专业教学计划中四大系列之一——软件技术系列中的基础课程,且因其涉及计算学科抽象、理论和设计三个形态,含有基本问题求解的典型思路和方法,是继程序设计、数据结构与算法分析等课程后,从系统级再认识程序、算法最恰当的知识载体,将使学生的程序设计能力得到提升,并促进系统能力的建立和升华,因此该课程在整个软件工程教学体系中扮演着无可替代的重要作用。

课程大纲

学习目标

《编译原理》课程主要讲授形式语言、有限自动机、自上而下和自下而上的语法分析、LL(1)分析方法和LR分析方法、属性文法和语法制导翻译、语义分析、符号表的组织与管理、中间代码生成等内容。
通过本课程的学习,应使学生达到以下基本要求:
1. 正确理解什么是编译程序;了解编译程序工作的基本过程及其各阶段的基本任务;熟悉编译程序总框架;了解编译程序的生成过程和构造工具。
2. 理解程序语言词法、语法和语义等概念;熟悉高级程序语言一般结构和主要共同特征。正确理解上下文无关文法基本概念,包括:文法的定义、编写、句型、句子、语言、语法树、二义性等;理解三种参数传递方式:传值、传地址、传名的含义。
3. 理解词法分析器功能及形式;熟练掌握词法分析器设计的原理,掌握运用状态转换图进行词法分析器设计与实现。
4. 正确理解自上而下分析的基本思想;理解递归下降分析方法;熟练掌握预测分析方法和原理:消除左递归,消除回溯,预测分析表构造;充分理解LL(1)方法的定义。
5. 正确理解自下而上语法分析的基本思想,掌握归约、短语、句柄、分析树等概念;掌握LR 分析器基本原理和工作方法,能够熟练构造LR(0)、SLR(1)分析表。
6. 正确理解语法制导翻译基本原理;掌握基于属性文法的处理方法,掌握属性的计算方法。了解自上而下分析制导翻译基本思想和实现方法。
7. 熟悉常见的几种中间语言:四元式、三元式、逆波兰表示;掌握各种语句到四元式的翻译方法,包括:简单算术表达式,布尔表达式,控制语句等。    
8. 理解符号表的作用及符号表组织方式和使用方法,了解名字的作用范围,了解符号表中一般应包含的内容。

学习要求

编译原理是一门理论性和实践性都比较强的课程,教学过程中理论学习(54课时)和上机实践(24课时)两个主要环节相互配合,互为补充。在理论学习中,以课堂理论讲授为主,并在每个核心知识点讲授完成后,配合至少3课时的习题课,以加深同学们对核心知识点的理解和掌握,再辅以线上线下的课后答疑以进一步巩固提高。在上机实践过程中,指导学生运用编译方面的技术和方法实现相关的编译算法,一方面将理论知识转化为实践经验,另一方面锻炼和提高学生复杂程序的分析、设计和实现能力。

考核标准

该课程的期末考核方式为闭卷考试,最终成绩由平时成绩和考试成绩组成,平时占20%(其中平时出勤和作业10%、实践10%)、期末80%。

教材教参

教材:
1.    编译原理基础, 刘坚,西安电子科技大学出版社,2008年9月,第2版

参考资料:
1.    编译原理,Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman著,李建中,姜守旭译, 机械工业出版社,2008年12月第2版

2.    Compilers: Principles, Techniq-ues, and Tools(Second Edition)(编译原理技术和工具),Alfred Aho ect.,人民邮电出版社,2008年2月

3.    Modern Compiler Implementation in C(现代编译原理:C语言描述(修订版)),Andrew W. Appel,人民邮电出版社,第1版

4.    编译系统透视:图解编译原理,机械工业出版社,2016年4月

5.    编译原理及实践,Kenneth C. Louden著,冯博琴等译,机械工业出版社,1997年

6.    程序设计语言编译原理,陈火旺等著,国防工业出版社,2000年1月第3版

联系客服
经检测,当前账号未设置邮箱,请设置邮箱

添加邮箱之后即可用邮箱登录!

忘记密码时,只能通过邮箱找回!

添加邮箱

请您添加邮箱,否则就无法进行其他操作!