《编译原理》课程标准

举报
tea_year 发表于 2021/12/23 00:49:05 2021/12/23
【摘要】 XX大学软件学院 《编译原理》课程标准 制定人:张晨光 课程代码: 773033 课程名称(中文 / 英文):编译原理 / Compiler Principle 学时( 实验学时 )/ 学分: 周5学...

XX大学软件学院
《编译原理》课程标准

制定人:张晨光

课程代码: 773033
课程名称(中文 / 英文):编译原理 / Compiler Principle
学时( 实验学时 )/ 学分: 周5学时 / 4学分
课程性质:专业必修
先修课程:JAVA程序设计
后续课程:无
适用专业:软件开发专业(JAVA、.NET方向)、软件测试专业、信息工程专业
选用教材: 书名: 程序设计语言编译原理???
作者: 陈火旺,刘春林,谭庆平等编著
??? 出版社: 国防工业出版社
??? 出版日期: 2007

一、教学目的与任务

通过对该课程的学习,使学生能够了解编译程序构造的一般原理、基本设计方法和主要实现技术。使学生掌握编译程序的五个逻辑阶段:在词法分析中,深入理解正规表达式与有限自动机的理论和不确定的有限自动机转化为确定有限自动机的方法;在语法分析中,理解上下文无关方法的概念,掌握自上而下分析和自下而上分析的方法,深入理解消除左递归、消除回溯、提取左因子的方法和LL(1)分析法;在语义分析和中间代码生成中,掌握属性文法和语法制导翻译的基本思想、中间代码的格式和语句翻译的方法;在优化和目标代码生成中,了解其基本方法。除此之外,还需对符号表管理以及运行时存储空间组织的管理方法加以了解。

二、教学方法与特色

在学习编译原理之前,首先要求学生对一些源语言(如C或Java)和目标机器有所了解。
在教学过程有,其方法和特色有:
(1)在介绍语言实现技术的同时,强调一些相关的理论知识,如形式语言和自动机理论、语法制导的定义和属性方法、类型论等。
(2)在介绍编译器各逻辑阶段的实现时,强调形式化描述技术。
(3)强调对编译原理和技术的宏观理解和把握,而不把读者的注意力分散到一些枝节的算法上。
(4)在教学过程中,不偏向于某种源语言或是目标机器。
(5)鼓励学生在学习过程中用所学的知识去分析和解决实际问题,激发学生学习编译原理和技术的积极性。

三、教学内容与要求

第1章 引论

  
 
  • 1

1、课程性质与任务
2、编译过程概述
3、编译程序的结构
第2章 高级语言及其语言描述
1、程序语言的定义
2、高级语言的分类
3、语句与控制结构
4、上下文无关文法
5、语法分析树与二义性
第3章 词法分析
1、 词法分析器的要求
2、词法分析器的设计
3、正规表达式
4、有限自动机
5、词法分析器的自动产生
第4章 语法分析—自上而下分析
1、语法分析器的功能
2、自上而下分析面临的问题
3、 LL(1)分析法
4、递归下降分析程序构造
5、预测分析程序
6、LL(1)分析中的错误处理
第5章 语法分析—自下而上分析
1、自下而上分析基本问题
2、算符优先分析
3、语法分析器的自动产生工具
第6章 属性文法和语法制导翻译
1、属性文法
2、基于属性文法的处理方法
3、S-属性文法的自下而上计算
4、L-属性文法和自顶而下翻译
5、自上而下计算
第7章 语义分析和中间代码生成
1、中间语言
2、说明语句
3、赋值语句的翻译
4、Bool表达式的翻译
5、控制语句的翻译
6、过程调用的处理
7、类型检查
第8章 符号表
1、符号表的组织与作用
2、整理与查找
3、名字的作用与范围
4、符号表的内容
第9章 运行时存储空间组织
1、目标程序运行时的活动
2、运行时存储器的划分
3、简单的栈式存储分配
第10章 优化
1、 局部优化
2、 循环优化
第11章 目标化码生成
1、目标代码生成的基本问题
2、目标机器模型
3、简单的代码生成器
4、寄存器分配
5、DAG的目标代码
6、 窥孔优化
第12章 并行编译基础
1、 并行编译的基本概念
2、 并行编译的依赖关系
3、 依赖关系测试
4、 循环的向量化
5、 循环变换技术

四、教学安排及方式

本课程总学时90学时,课堂总学时72学时,实践总学时18学时。

章次 内容 总学时 课堂学时数 实践学时数
1 引论 4 4 0
2 高级语言及其语言描述 10 8 2
3 词法分析 14 12 2
4 语法分析—自上而上分析 16 12 4
5 语法分析—自下而上分析 16 12 4
6 属性方法和语法制导翻译 10 8 2
7 语义分析和中间代码生成 10 8 2
8 符号表 6 4 2
9 运行时存储空间组织 1 1 0
10 优化 1 1 0
11 目标代码生成 1 1 0
12 并行编译基础 1 1 0
90 72 18

五、考核方式

  1. 教学大纲所规定的教学内容和教学要求,是考核的唯一依据。考核要突出解决问题的能力和实践能力,知识要点最好能从考核中体现。
  2. 考核成绩评定:采用百分制,包括理论部分与平时成绩部分,理论部分不及格者补考。总成绩比例:理论部分70% + 平时成绩部分30%。
  3. 考试形式:理论部分为课程结束后闭卷考试,平时成绩部分为平时作业及点名。

六、参考教材
(1) 陈意云, 张昱编. 编译原理(第2版).高等教育出版社.
(2) Louden, K.C编. 编译原理及实践(文版).中信出版社.
(3) Aho,A. V., Sethi, R, Ullman,J.D.编. 编译原理技术与工具(英文版).人民邮电出版社.

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/118510949

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。