欢迎来到天天文库
浏览记录
ID:37444080
大小:211.50 KB
页数:20页
时间:2019-05-12
《编译原理要点ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编译原理byyldy@sina.com前言课程内容课程特点教学安排上机实验考试安排课程内容主要阐述编译程序的基本结构、编译技术的一般理论和常用的有效方法与技术。包括:文法和形式语言、自动机理论词法分析语法分析语义分析中间语言代码生成优化存储组织与分配返回理论与实践的结合理论:编译基础理论实践:自己编写编译器涉及的知识面广形式语言自动机理论离散数学数据结构算法返回课程特点有点难??教学安排教学辅导(24课时)学习内容:一~~~十一章(不含第十章)主要采用幻灯片辅导教学上机实验(12课时共四次)课后作业(四次)答疑:
2、1、byyldy@sina.com2、南京电大的bbs3、4716916-2408课终复习、串讲一次要求:课前预习、课后认真作业返回上机实验TurboPascal7.0实验安排:共做四次实验,到学校机房进行实验,每次3小时。实验要求:实验以前充分准备.必须独立按规定上机完成返回考试安排考核范围:重点考察编译原理中的基本概念,编译基础理论以及编译过程的各个阶段的功能和实现方法。考核方式:期末考核与平时成绩相结合的方式。1)期末考核:笔试:闭卷,答题时限120分钟,占80%;2)平时成绩:视平时上机实验、作业完成情况
3、给分,占20%。以上成绩累计60分以上(包括60分)算考核通过。第一章编译概述一、基本概念二、编译程序的组成三、编译程序的开发技术四、编译程序的自动生成问题基本概念程序设计语言低级语言高级语言汇编语言机器语言翻译程序翻译程序1.2.源程序目标程序翻译程序翻译程序Translator汇编程序Assembler编译程序Compiler解释程序Interpreter高级语言4.高级语言程序处理的两种方法4.1编译途径(A)源程序运行程序目标程序编译程序结果初始数据编译阶段运行阶段4.高级语言程序处理的两种方法4.1编译
4、途径(B)源程序运行程序目标代码编译程序结果初始数据编译阶段运行阶段汇编语言汇编程序汇编阶段4.高级语言程序处理的两种方法4.2解释途径源程序结果解释程序初始数据直接解释执行、中间代码与编译的主要区别:解释程序不产生目标代码返回二、编译程序的组成1.编译程序逻辑图表格管理错误处理源程序词法分析语法分析中间代码生成中间代码优化目标代码生成目标程序2.各个阶段的主要任务词法分析阶段:扫描源程序的ASCII码序列,拼出每一个单词,并把每个单词的ASCII码序列替换为所谓的机内表示TOKEN形式,这时还检查词法错误,词法
5、分析阶段不依靠语法关系.语法分析阶段:扫描对象可能是源程序的ASCII码序列,也可能是词法分析后的TOKEN序列,.主要任务是检查源程序的形式语法错误,每当发现错误时将输出有关信息.中间代码生成阶段:扫描对象通常是语法分析后的结果,这部分把源程序的TOKEN序列转换成更接近目标代码的中间代码三元式或四元式的序列.中间代码优化阶段:扫描对象是中间代码,任务是把原中间代码转换成可产生高质量目标代码的中间代码,其中的优化工作包括表达式优化、公共子表达式优化、不便表达式外提和削减运算强度等。目标代码生成阶段:扫描对象是中
6、间代码,任务是从中间代码产生目标代码,这一部分的工作与目标机紧密相关,其它部分的工作几乎与目标机无关。2.各个阶段的主要任务错误处理:错误处理包括词法错误、语法错误、静态语义从错误、动态语义错误。表格管理:较大的编译程序用到很多表格,甚至可达几十种表。不少编译程序都设立一些专门子程序(称为表格管理程序),它们专门负责管理表格。2.各个阶段的主要任务1.单趟扫描:3.编译程序的遍(趟)--pass(一)源程序词法分析语法分析语义分析目标程序2.多趟扫描:设COMPi是第i遍扫描程序.Li-1是COMPi的扫描对象,
7、Li是COMPi的扫描结果,则3.编译程序的遍(趟)--pass(二)COMP1(L0)=LnCOMP2(L1)COMPn(Ln-1)L0是源程序,Ln是目标程序,L1,L2,….Ln-1是中间语言代码编译程序的开发技术自编译交叉编译自展移植返回
此文档下载收益归作者所有