编译原理-ppt教学课件

编译原理-ppt教学课件

ID:33393806

大小:296.51 KB

页数:53页

时间:2018-05-22

编译原理-ppt教学课件_第1页
编译原理-ppt教学课件_第2页
编译原理-ppt教学课件_第3页
编译原理-ppt教学课件_第4页
编译原理-ppt教学课件_第5页
资源描述:

《编译原理-ppt教学课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机编译原理王海文wanghaiwen@sina.com2005本书结构第一章语言程序概述第二章文法与语言第三章词法分析第四章语法分析第五章编译程序的数据结构和符号表第六章语法制导翻译第七章编译程序课程要求基础理论:熟悉基于形式语言理论的编译程序构造原理和高级语言的实现原理。基础知识:全面掌握词法分析、语法分析和语法制导翻译方法等计算机处理技术,了解高级语言中各种语言成分的实现方法。基本技能:掌握计算机语言处理系统中各种通用的分析和翻译技术,以及自动生成系统的运用。本课程的目的构造编译器基本知识编译的阶段和相关的活动相关

2、数据结构和算法计算机科学中相关的基础理论形式语言与自动机进一步加深对软件开发的认识第一章概述【课前思考】 ◇什么是编译程序?◇编译过程和编译程序的结构?【学习目标】介绍语言翻译的基本概念程序和语言翻译和解释介绍翻译的步骤和相关的活动介绍编译器的开发方法知识结构课前说明基于形式语言理论中的有关概念来讨论编译实现问题。即编译原理=形式语言理论+编译技术本书主要内容涉及:高级程序设计语言形式语言理论的基本概念构造编译程序的基本概念、原理和技术基本观念 ——程序、语言计算机、程序、语言计算机接受指令,然后执行指令指令组成的序列,称

3、为程序符合一定规则(文法)的程序的集合,称为语言语法(形式)语义(意义)//形式与意义之间的对应关系?讨论:C语言与C语言程序之间的关系基本观念 ——语言与程序语言的作用设计程序(选出特定的程序——构造程序)程序的作用由计算机执行在人之间的交流想法,由于程序没有歧义如何定义语言——本课程要学习的内容以有限的规则,定义无限多的程序。基本观念 ——语言的多样性语言的多样性方便在特定领域的应用交流障碍解决方案统一语言,一个梦想没有个性的语言语言的不断发展翻译基本观念——语言之间的翻译对翻译的要求保持程序的意义,即功能不变。翻译的

4、可能性Church猜想与通用计算机(语言的等价性)++、--、JNZ翻译的策略——软件开发过程的策略编译(整体翻译)解释(逐句的翻译、执行)程序的执行方式高级语言程序通常采用两种方式执行:解释方式和翻译方式解释方式:逐个语句地分析和执行,如Basic,Prolog优点:易于查错缺点:效率低,运行速度慢翻译方式:对整个程序进行分析,翻译成等价机器语言程序后执行,如Pascal,Fortran,C优点:只需分析和翻译一次,缺点:在运行中发现的错误必须在源程序中查找什么是编译程序?定义:是一种语言转换系统编译程序高级语言书写的程

5、序(源程序)低级语言程序(目标程序)C++编译器C++CJavaBytecodeJava编译器编译程序运行系统目标程序输入数据计算结果源程序需预处理的源程序预处理程序源程序编译程序汇编程序装配/连接编辑程序目标汇编程序可再装配的机器代码绝对机器代码可再装配目标文件高级语言程序的处理过程编译程序的功能从功能上看,一个编译程序就是一个语言翻译程序。源语言通常是一个高级语言,如FORTRAN,C或Pascal。目标语言通常是一个低级语言,如汇编或机器语言。编译程序源语言程序目标语言程序出错和警告信息T形图常用T形图来表示编译程序

6、涉及的三个语言:SOI其中:S:源语言(程序),Sourcelanguage(program)O:目标语言(程序),target/objectlanguage(program)I:实现语言,implementationlanguage编译程序在计算机系统中的作用编译系统是一种软件,一种系统软件。软件:计算机系统中的程序及其文档。系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。和具体的应用领域无关,如编译系统和操作系统等。语言处理系统:把软件语言书写的各种程序处理成可在计算机上执行的程序,如编

7、译系统。裸机操作系统语言处理系统应用软件层编译程序的组成结构semanticsparserscanneroptimizercodegeneratorprogram前端frontend与源语言有关middleend后端backend与目标机相关翻译外文资料编译源程序分析阅读原文识别单词分析句子输入并扫描源程序词法分析语法分析综合修辞加工写出译文代码优化目标代码生成编译程序的结构翻译外文资料与编译源程序进行类比翻译之前的准备必须了解的源语言(翻译谁——输入)目标语言(翻译成谁——输出)翻译方法(如何实现翻译)如何定义源语言和目

8、标语言程序的基本组成是字符,程序是一个字符串由字符组成程序的方法先定义接口,然后再实现(1)词法分析(Lexicalanalysis)词法分析程序又称扫描程序。是编译过程的第一个阶段,其任务是:读源程序的字符流、识别单词(如标识符、整数、界限符等),并转换成内部形式。输入字符串(即源程序)输出单词符号(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。