12编译原理(第一章)2ndModi

上传人:hs****ma 文档编号:580643833 上传时间:2024-08-29 格式:PPT 页数:33 大小:752.03KB
返回 下载 相关 举报
12编译原理(第一章)2ndModi_第1页
第1页 / 共33页
12编译原理(第一章)2ndModi_第2页
第2页 / 共33页
12编译原理(第一章)2ndModi_第3页
第3页 / 共33页
12编译原理(第一章)2ndModi_第4页
第4页 / 共33页
12编译原理(第一章)2ndModi_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《12编译原理(第一章)2ndModi》由会员分享,可在线阅读,更多相关《12编译原理(第一章)2ndModi(33页珍藏版)》请在金锄头文库上搜索。

1、2024/8/29编译原理12024/8/29编译原理2n第一章 1.1/1.2/1.3n第二章2.1/2.2(2)/2.3 L1L2L3/2.7/2.8/2.9/2.11?n第三章 3.1(1)(3)/ 3.3/3.5/3.11(1)/3.122024/8/29编译原理3n第四章 4.1/4.2n第四章 4.5/4.6 n第四章 4.8/4.11/4.152024/8/29编译原理4n第五章5.1(1)(3)(5)(7)/5.2/5.5/5.6n第七章7.1/7.2/7.3/7.4/7.52024/8/29编译原理5计 算 机 学 院胡 福 林 18627079779(手机) hufulin

2、263.NET2024/8/29编译原理6第一章 编译程序概论 n什么是编译程序什么是编译程序 编译原理这门课程主要介绍设计和构造编译程序的基本原理和常用的技术和方法。本章重点介绍编译程序的基本概念。n编译的过程编译的过程n编译程序的结构编译程序的结构2024/8/29编译原理71.1 什么是编译程序 翻译程序是指这样一个程序,它把一种语言(称作源语言)所写的程序(源程序)翻译成等价的另一种语言(称作目标语言)的程序(目标程序)。 高级语言程序机器语言程序翻译程序2024/8/29编译原理81.1 什么是编译程序 编译程序编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇

3、编语言的目标程序。 源程序高级语言程序编译程序目标程序汇编语言或者机器语言程序2024/8/29编译原理9程序运行阶段 采用编译方式在计算机上执行用高级语言编写的程序,需分阶段进行。第一种情况:第一种情况:源程序编译程序机器语言目标程序初始数据运行系统结果编 译 阶 段运 行 阶 段高级语言 程序2024/8/29编译原理10第二种情况:第二种情况:源程序编译程序机器语言目标程序初始数据运行系统结果编 译 阶 段运行阶段汇编程序汇编语言目标程序汇 编 阶 段高级语言 程序程序运行阶段2024/8/29编译原理111.2 编译过程和编译程序的基本结构 将英文句子 “I wish you succ

4、ess ”翻译成中文句子的大致过程是:q 词法分析q 语法分析q 语义分析q 修饰工作q 翻译成文 2024/8/29编译原理12 编译过程编译过程 编译程序是将一种语言形式翻译成另一种语言形式,因此,其工作过程一般可划分为如下五个阶段: q 词法分析 q 语法分析 q 语义分析和中间代码生成 q 代码优化 q 目标代码生成2024/8/29编译原理13 float r,h,s; s = 2*3.1416 * r *(rh);例如 计算圆柱体表面积的程序 片断如下: 编译过程编译过程 2024/8/29编译原理14 词法分析阶段的任务是对构成源程序的字字符符串串从左到右进行扫描和分解,根据语言

5、的词词法法规规则则,识别出一个一个具有独立意义的单单词词( 也称单词符号单词符号, 简称符号 )。1. 词法分析词法分析2024/8/29编译原理15 词法规则词法规则是单词符号的形成规则,它规定了哪样的字符串构成一个单词符号。词法规则 float r,h,s; s = 2*3.1416*r*(hr);例如2024/8/29编译原理16 上述源程序通过词法分析识别出如下单词符号: 基本字 float 标识符 r、h、s 常数 3.1416、2 算符 * 、 界符 (、 )、 ;、 ,、= 词法规则2024/8/29编译原理17 2. 语法分析 语法分析的任务是在词法分析的基 础上, 根据语言的

6、语法规则语法规则从单词符单词符 号串号串中识别出各种语法单位语法单位 ( 如表 达式、说明、语句等 ) ,并进行语法语法 检查检查,即检查各种语法单位在语法结 构上的正确性。 2024/8/29编译原理18语法规则 语言的语法规则语法规则规定了如何从单词符号形成语法单位,语法规则语法规则是语法单位的形成规则。 float r,h,s; s = 2*3.1416*r*(hr);例如2024/8/29编译原理19语法规则 单词符号串 s=2*3.1416 * r *(hr)中,“s” 是,单词符号串 “2 * * 3.1416 * * r * *(hr)”组合成组合成这样的语法单位这样的语法单位

7、, 由=构成这样的语法单位。2024/8/29编译原理20 3. 语义分析和中间代码生成 语义分析语义分析的任务是首先对每种语法单位进行静态的语义审查,然后分析其含义,并用另一种语言形式 (比源语言更接近于目标语言的一种中间代码或直接用目标语言 ) 来描述这种语义。2024/8/29编译原理21 例如,前例中 将s = 2*3.1416 * r *(hr)翻译成如下形式的四元式中间代码:(1) ( *, 2, 3.1416, T1 ) (2) ( *, T1, r, T2 )(3) ( +, h, r, T3 )(4) ( *, T2, T3, T4 )(5) ( =, T4, _, s )2

8、024/8/29编译原理22 4. 代码优化 代码优化的任务是对前阶段产生的中间代码进行等价变换或改造,以期获得更为高效即省时间和空间的目标代码。优化主要包括局部优化和循环优化等,例如上述四元式经局部优化后得: (1) ( *, 6.28, r, T2 )(2) ( +, h, r, T3 )(3) ( *, T2, T3, T4 )(4) ( =, T4, _, s )2024/8/29编译原理23 5.目标代码生成 目标代码生成的任务是将中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。 2024/8/29编译原理24表格管理和错误处理 编译程序在工作过程中需要建立

9、一些表格,以登记源程序中所提供的或在编译过程中所产生的一些信息,编译各个阶段的工作都涉及到构造、查找、修改或存取有关表格中的信息,因此,在编译程序中必须有一组管理各种表格的程序。 在编译程序的各个阶段中,都要涉及表格管理和错误处理。2024/8/29编译原理25表格管理和错误处理 一个好的编译程序在编译过程中,应具有广泛的程序查错能力,并能准确地报告错误的种类及出错位置,以便用户查找和纠正,因此,在编译程序中还必须有一个出错处理程序。 2024/8/29编译原理26编译程序的结构编译程序的结构 源程序语义分析和中间代码生成程序语法分析程序词法分析程序代码优化程序目标代码生成程序 目标程序表格管

10、理程序出错处理程序( 字符串)2024/8/29编译原理271.3 编译程序的生成方法编译程序的生成方法q 对源语言和目标语言认真分析q 设计编译算法q 选择语言编制程序q 调试编译程序q 提交相关文档资料 编译程序是一个复杂的系统程序,要生成一个编译程序一般要考虑以下几方面:2024/8/29编译原理28编译程序的自动生成编译程序的自动生成 如目前已广为使用词法分析程序的自动生成系统LEX和语法分析程序自动生成系统YACC等,此外, 还有可用来自动产生整个编译程序的软件工具:编译程序产生器, 它的功能是将任一语言的词法规则、语法规则和语义解释的描述作为输入,自动生成该语言的编译程序。 随着编

11、译技术和自动机理论的发展, 近年来已研制出了一些编译程序的自动生成自动生成系统系统。2024/8/29编译原理29编译程序的自动生成编译程序的自动生成 生成编译程序的方法还常采用自编译方式和移植方式。 随着并行技术和并行语言的发展,处理并行语言的并行编译技术和将串行程序转换成并行程序的自动并行编译技术正在深入研究之中。2024/8/29编译原理301.4 编译技术在软件开发中的应用编译技术在软件开发中的应用 虽然我们只有少数人从事构造或维护程序语言编译程序的工作,但是,大部分系统软件和应用软件的开发,大部分系统软件和应用软件的开发,通常要用到编译的原理和技术通常要用到编译的原理和技术。2024

12、/8/29编译原理311.4 编译技术在软件开发中的应用编译技术在软件开发中的应用 例如,设计词法分析器的串匹配技术已用于正文编辑器、信息检索正文编辑器、信息检索系统和模式识别程序系统和模式识别程序; ; 上下文无关文法和语法制导定义已用于创建诸如排版、绘图系统排版、绘图系统和语言结构化编辑器中,代码优化技术已用于程序程序验证器验证器和从非结构化的程序产生结构化程序的编程之中。 2024/8/29编译原理32本章小结q 什么是编译程序q 编译过程的五个阶段q 编译程序的结构框图编译程序编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成2024/8/29编译原理33本章小结 源程序语义分析和中间代码生成程序语法分析程序词法分析程序代码优化程序目标代码生成程序 目标程序表格管理程序出错处理程序( 字符串)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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