SPOC学校专有课程
程序设计语言与编译
分享
spContent=程序设计是计算机科学与工程的中心活动,而程序设计语言是进行程序设计的主要工具。计算机科学发展的每一步都在程序设计语言中得到体现。也就是说,计算机科学的发展史紧密联系着程序设计语言的发展史,计算机科学的许多问题都涉及程序设计语言的问题。
—— 课程团队
课程概述

编译器的目的是将高级程序设计语言翻译成与之等价的低级程序设计语言,本课程将将首先介绍这个翻译过程中所涉及的词法分析、语法分析、语义分析、中间代码优化和目标代码生成五个步骤。本课程是一门理论知识比较抽象,实践性又很强的专业课。本课程的主要任务是使学生掌握编译程序的逻辑结构和原理;了解计算机语言的形式定义,以及从高级语言到低级语言的转换,并掌握实现这种转换的理论和基本技术。学生通过本课程的学习将了解编译程序的基本结构,掌握每个阶段的主要任务,理解五个阶段之间的关系。学生需要学习并掌握编译程序的相关理论实现技术,主要包括形式语言、文法、有限自动机、无环有向图、词法分析、语法分析、语义分析及中间代码生成,优化及目标代码生成。同时,本课程还配以相应的实践环节,使学生掌握词法分析器、语法分析器、中间代码生成器的原理和实现技术,进而编写相关编译器软件

其次,程序设计语言的设计,也就是语言部分,涵盖数据类型、控制结构、程序语言的设计等内容。


授课目标

使学生了解编译器执行过程所涉及的五个阶段,掌握将高级程序设计语言翻译成低级程序设计语言所需的算法,进一步了解编译器的执行过程,为编写高效程序做依据,为将来实现编译器打下基础。

成绩要求

设置“合格”(达到60分)、"优秀"(达到80分)两档课程标准。

课程大纲
预备知识

了解集合的概念;了解数据结构中栈、树和图的概念;了解寄存器的概念;了解二维表格;掌握一门高级程序设计语言的写法;了解汇编指令的写法。

参考资料

刘铭,徐兰芳,骆婷,编译原理(第3版),电子工业出版社,2013

英文版:(美)Kenneth C. Louden著,《编译原理与实践》(英文版),机械工业出版社,2002-8。

中文版:冯博琴等译,《编译原理与实践》,机械工业出版社,2002-2。

胡伦骏等:《编译原理》(第2版),电子工业出版社 , 2005-7。