没有合适的资源?快使用搜索试试~ 我知道了~
程序设计语言编译原理自学指导书[参照].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 55 浏览量
2021-10-12
05:31:55
上传
评论
收藏 260KB PDF 举报
温馨提示
试读
18页
程序设计语言编译原理自学指导书[参照].pdf
资源推荐
资源详情
资源评论
1
《程序设计语言 编译原理》自学指导书
一、课程编码及适用专业
课程编码:
适用专业:计算机科学与技术
二、课程性质与任务
必修。通过本课程的学习, 使学生掌握编译程序构造的基本原理、 设计方法
和实现技术,具有设计、实现、分析和维护编译程序等方面的基本技能,为今后
从事应用软件和系统软件的开发打下一定的理论基础和实践基础。
三、教学目的与要求
编译原理是计算机科学与技术专业的重要专业课之一, 以研究程序设计语言
编译构造的基本原理和基本实现方法为主要目标, 其研究对象是程序设计语言的
编译器。通过本课程学习, 使学生掌握编译方法的基本理论和设计思想, 加深对
程序设计语言的理解, 能将本课程讨论的概念和技术应用于其他软件设计中, 并
能较迅速地掌握新的语言工具。
四、本课程的学习方法
为了学好本课程,首先要树立正确的学习目的和态度, 在学习中要刻苦钻研、
踏踏实实、首先要认真学懂课本的基础知识, 弄懂概念,然后要理解课本的例题,
并能掌握解题方法,另外,要按时保质保量的完成作业。做作业时,要运用所学
习和掌握的知识解答问题,而不是仅仅照书本上的例题依葫芦画瓢地完成作业,
要创造性地运用所学知识正确解答。要端正态度,避免照抄或拷贝他人作业。
五、自学内容与指导
第一章 引论
(一) 自学内容
1. 什么叫编译程序
2. 编译过程概述
3. 编译程序的结构
4. 编译程序与程序设计环境
5. 编译程序的生成
(二)本课重点、难点
相关概念,编译过程概述,编译程序的结构
(三)学习指导
掌握本章基本所介绍的基本概念,掌握编译过程概述,掌握编译程序
的结构
第二章 高级语言及其语法描述
(一) 自学内容
1. 程序语言的定义
2. 高级语言的一般特性
3. 程序语言的语法描述
(二)本课重点、难点
上下文无关文法,语法分析树。
(三)学习指导
理解程序语言词法、语法和语义等概念;熟悉高级程序语言一般结
构和主要共同特征;理解上下文无关文法基本概念,包括:文法的定义、
编写、句型、句子、语言、语法树、二义性等。
2
第三章 词法分析
(一) 自学内容
1.对于此法分析器的要求
2.词法分析器的设计
3.正规表达式与有限自动机
4.此法分析器的自动产生
(二)本课重点、难点
由正规表达式构造 DFA,DFA 的最小化,词法分析器的作用与设计。
(三)学习指导
了解词法分析器的作用,掌握词法分析器设计的原理;掌握运用状
态转换图进行词法分析器设计;了解 DFA、NFA、正规表达式与有穷自
动机的等价性;掌握 NFA 到 DFA 的转化;掌握从正规表达式构造自动机;
掌握确定有限自动机的化简方法;了解 LEX 。
第四章 语法分析——自上而下分析
(一) 自学内容
1. 语法分析器的功能
2. 自上而下分析面临的问题
3. LL(1) 分析法
4. 递归下降分析程序构造
5. 预测分析程序
6. LL(1) 分析中的错误处理
(二)本课重点、难点
消除左递归的方法,递归下降分析法,自上而下文法分析, LL (1)分
析法及分析表的构造方法
(三)学习指导
理解自上而下分析的基本思想;掌握递归下降分析基本方法:消除
左递归,消除回溯,构造递归下降子程序;掌握预测分析程序的基本原
理和预测分析表构造;理解 LL(1) 方法的定义。
第五章 语法分析——自下而上分析
(一) 自学内容
1. 自下而上分析基本问题
2. 算符优先分析
3. LR 分析法
(二)本课重点、难点
构造算符优先表,构造识别活前缀的 DFA,构造 SLR 分析表,构造 LR
分析表。
(三) 学习指导
理解自上而下分析的基本思想;掌握递归下降分析基本方法:消除
左递归,消除回溯,构造递归下降子程序;掌握预测分析程序的基本原
理和预测分析表构造;理解 LL(1) 方法的定义。
第六章 属性文法和语法制导翻译
(一) 自学内容
1. 属性文法
2. 基于属性文法的处理方法
3
3. S-属性文法的自下而上计算
4. L-属性文法和自顶向下翻译
5. 自下而上计算继承属性
(二)本课重点、难点
属性文法、语法制导翻译的过程。
(三) 学习指导
正确理解语法制导翻译基本原理;掌握基于属性文法的处理方法,
了解自上而下分析制导翻译基本思想和实现方法。
第七章 语义分析和中间代码产生
(一) 自学内容
1. 中间语言
2. 说明语句
3. 赋值语句的翻译
4. 布尔表达式的翻译
5. 控制语句的翻译
6. 过程调用的处理
7. 类型检查
(二)本课重点、难点
中间语言,赋值语句的翻译,布尔表达式的翻译,控制语句的翻译,过
程调用的处理。
(三) 学习指导
了解常见的几种中间语言:四元式、三元式、逆波兰表示;掌握各
种语句到四元式的翻译方法,包括:简单算术表达式,布尔表达式,控
制语句,数组引用,过程调用等。
第八章 符号表
(一) 自学内容
1. 符号表的组织与作用
2. 整理与查找
3. 名字的作用范围
4. 符号表的内容
(二)本课重点、难点
符号表的作用与内容
(三) 学习指导
理解符号表的作用及符号表组织和使用方法,了解名字的作用范
围,了解符号表中一般应包含的内容。
第九章 运行时存储空间组织
(一) 自学内容
1. 目标程序运行时的活动
2. 运行时存储器的划分
3. 静态存储分配
4. 简单的栈式存储分配
5. 嵌套过程语言的栈式实现
6. 堆式动态存储分配
(二)本课重点、难点
4
静态分配策略和动态分配策略基本思想,嵌套过程语言栈式分配,活动
记录、运行时栈的组织。
(三) 学习指导
理解目标程序运行进存储空间的使用和组织管理方式;理解静态分
配和动态存储分配基本思想;掌握栈式动态分配中活动记录的作用、组
织、内容及使用;了解嵌套过程语言程序运行时整个运行栈的内容的组
织。
第十章 优化
(一) 自学内容
1. 概述
2. 局部优化
3. 循环优化
4. 数据流分析
(二)本课重点、难点
局部优化; DAG 的构造与应用。
(三) 学习指导
理解代码优化的定义和各种可能的优化概念; 掌握用 DAG 表示进行
局部优化的方法
第十一章 目标代码生成
(一) 自学内容
1. 基本问题
2. 目标机器模型
3. 一个简单的代码生成器
4. 寄存器分配
5. DAG 的目标代码
6. 窥孔优化
(二)本课重点、难点
简单代码生成器,寄存器分配策略。
(三) 学习指导
理解代码生成过程的基本问题;理解待用信息、寄存器描述和地址
描述等概念;掌握简单代码生成算法、寄存器分配策略。
第十二章 并行编译基础
(一) 自学内容
1. 并行计算机及其编译系统
2. 基本概念
3. 依赖关系
4. 依赖关系问题
5. 依赖关系测试
6. 循环的向量化与并行化
7. 循环变换技术
(二)本课重点、难点
基本概念
(三) 学习指导
理解本章中的基本概念
剩余17页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功