编译原理要点

上传人:101****457 文档编号:94404611 上传时间:2019-08-06 格式:PPT 页数:20 大小:211.55KB
返回 下载 相关 举报
编译原理要点_第1页
第1页 / 共20页
编译原理要点_第2页
第2页 / 共20页
编译原理要点_第3页
第3页 / 共20页
编译原理要点_第4页
第4页 / 共20页
编译原理要点_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《编译原理要点》由会员分享,可在线阅读,更多相关《编译原理要点(20页珍藏版)》请在金锄头文库上搜索。

1、编译原理,,前 言,课程内容 课程特点 教学安排 上机实验 考试安排,课程内容,主要阐述编译程序的基本结构、编译技术的一般理论和常用的有效方法与技术。 包括: 文法和形式语言、 自动机理论 词法分析 语法分析 语义分析 中间语言 代码生成 优化 存储组织与分配,返回,理论与实践的结合 理论: 编译基础理论 实践: 自己编写编译器 涉及的知识面广 形式语言 自动机理论 离散数学 数据结构 算 法,返回,课程特点,有,点,难,?,教学安排,教学辅导(24课时) 学习内容:一十一章(不含第十章) 主要采用幻灯片辅导教学 上机实验(12课时共四次) 课后作业(四次) 答疑: 1、 2、南京电大的bbs

2、 3、4716916-2408 课终复习、串讲一次 要求:课前预习、课后认真作业,返回,上机实验,Turbo Pascal 7.0 实验安排: 共做四次实验,到学校机房进行实验,每次3小时。 实验要求: 实验以前充分准备. 必须独立按规定上机完成,返回,考试安排,考核范围:重点考察编译原理中的基本概念,编译基础理 论以及编译过程的各个阶段的功能和实现方法。 考核方式:期末考核与平时成绩相结合的方式。 1)期末考核: 笔试:闭卷,答题时限120分钟,占80%; 2)平时成绩:视平时上机实验、作业完成情况给分,占20%。 以上成绩累计60分以上(包括60分)算考核通过。,第一章 编译概述,一、基本

3、概念 二、编译程序的组成 三、编译程序的开发技术 四、编译程序的自动生成问题,基本概念,程序设 计语言,低级语言,高级语言,汇编语言,机器语言,翻译 程序,翻译 程序,1.,2.,源程序,目标程序,翻译程序,翻译程序 Translator,汇编程序 Assembler,编译程序 Compiler,解释程序 Interpreter,高级语言,4.高级语言程序处理的两种方法,4.1编译途径(A),源程序,运行程序,目标程序,编译程序,结果,初始数据,编译阶段,运行阶段,4.高级语言程序处理的两种方法,4.1编译途径(B),源程 序,运行程序,目标 代码,编译程序,结 果,初始数据,编译阶段,运行阶

4、段,汇编语言,汇编程序,汇编阶段,4.高级语言程序处理的两种方法,4.2 解释途径,源程序,结果,解释程序,初始数据,直接解释执行、中间代码,与编译的主要区别:解释程序不产生目标代码,返回,二、编译程序的组成,1.编译程序逻辑图,表 格 管 理,错误处理,源程序,词法分析,语法分析,中间代码生成,中间代码优化,目标代码生成,目标程序,2.各个阶段的主要任务,词法分析阶段: 扫描源程序的ASCII码序列,拼出每一个单词,并把每个 单词的ASCII码序列替换为所谓的机内表示TOKEN形式,这时还检查词法错误,词法分析阶段不依靠语法关系.,语法分析阶段: 扫描对象可能是源程序的ASCII码序列,也可

5、能是词法 分析后的TOKEN序列,.主要任务是检查源程序的形式 语法错误,每当发现错误时将输出有关信息.,中间代码生成阶段:扫描对象通常是语法分析后的结果,这部分把源程序的TOKEN序列转换成更接近目标代码的中间代码三元式或四元式的序列.,中间代码优化阶段:扫描对象是中间代码,任务是把原中间代码转换成可产生高质量目标代码的中间代码,其中的优化工作包括表达式优化、公共子表达式优化、不便表达式外提和削减运算强度等。,目标代码生成阶段:扫描对象是中间代码,任务是从中间代码产生目标代码,这一部分的工作与目标机紧密相关,其它部分的工作几乎与目标机无关。,2.各个阶段的主要任务,错误处理:错误处理包括词法

6、错误、语法错误、静态语义从错误、动态语义错误。,表格管理:较大的编译程序用到很多表格,甚至可达几十种表。不少编译程序都设立一些专门子程序(称为表格管理程序),它们专门负责管理表格。,2.各个阶段的主要任务,1.单趟扫描:,3.编译程序的遍(趟)-pass(一),源程序,词法分析,语法分析,语义分析,目标程序,2.多趟扫描: 设COMPi是第i遍扫描程序.Li-1是COMPi的扫描对象,Li是COMPi的扫描结果,则,3.编译程序的遍(趟)-pass(二),COMP1(L0),=Ln,COMP2(L1),COMPn(Ln-1),L0是源程序, Ln是目标程序, L1, L2,.Ln-1是中间语言代码,编译程序的开发技术,自编译 交叉编译 自展 移植,返回,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号