编译原理 PPT 第一章.ppt
《编译原理 PPT 第一章.ppt》由会员分享,可在线阅读,更多相关《编译原理 PPT 第一章.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章第一章 绪论绪论湖南农业大学信息科学技术学院湖南农业大学信息科学技术学院王王 奕奕 teacher_teacher_课程编号:课程编号:20013B320013B3湖南农业大学信息科学技术学院 王 奕课程学时安排课程学时安排:总学时:总学时:64 理论学时:理论学时:52 实验学时:实验学时:12目的目的:掌握编译的基本理论、形式化系统,了解常用的编译技术,了解编译过程及编译系统的构造(结构和机理)。能运用所学技术解决实际问题,能独立编写一个小型编译系统。其其它它应应用用:信息检索系统,模式识别程序,排版、绘图系统和语言结构化编辑器,程序验证器等。湖南农业大学信息科学技术学院 王 奕1.
2、1 翻译程序与编译程序翻译程序与编译程序 计算机只能直接执行用机器语言编写的程序,但是机器语言对计算机依赖性强、直观性差、编写程序工作量大、程序结构也欠清晰。因此人们多数都是用接近自然语言的高级程序设计语言来编写程序,但计算机不能直接接受和执行用高级语言编写的这些程序,需要通过一个翻译程序将它翻译成等价的机器语言程序才能执行。湖南农业大学信息科学技术学院 王 奕源程序源程序 用汇编语言或高级语言编写的程序称为源程序目标程序目标程序 用目标语言所表示的程序目标语言:可以是介于源语言和机器语言之间的“中间语言”,可以是某种机器的机器语言,也可以是某机器的汇编语言.翻译程序翻译程序 将源程序在不改变
3、语义的前提下转换为目标程序的程序称为翻译程序。它是指各种语言的翻译器,包括汇编程序和编译程序,是汇编程序、编译程序以及各种变换程序的总称。湖南农业大学信息科学技术学院 王 奕程序设计语言的翻译方式程序设计语言的翻译方式编译编译 (compiling)(compiling)解释解释 (interpreting)(interpreting)湖南农业大学信息科学技术学院 王 奕程序设计语言的翻译方式程序设计语言的翻译方式 编译编译 (compiling)(compiling)把某种高级语言程序把某种高级语言程序(称为源程序称为源程序)等价地转换成等价地转换成另一种低级语言程序另一种低级语言程序(称为
4、目标程序称为目标程序)的过程。的过程。如把如把C C语言程序编译成某种机器语言语言程序编译成某种机器语言(汇编语言汇编语言)程程序。序。用编译方式翻译的语言:用编译方式翻译的语言:C C,C+C+,FORTRANFORTRAN,PascalPascal和和AdaAda、Visual C/C+Visual C/C+、Delphi Delphi 等。等。编译程序编译程序(compiler)(compiler)实现编译过程的程序实现编译过程的程序(也称编译器也称编译器),),属系统软件范畴。属系统软件范畴。湖南农业大学信息科学技术学院 王 奕源程序的编译和运行源程序的编译和运行n编译或汇编阶段编译或
5、汇编阶段compilen运行阶段运行阶段run输出数据输出数据目标程序目标程序+运行子程序运行子程序输入数据输入数据源程序源程序目标程序目标程序编译程序编译程序或汇编程序或汇编程序 a.pas complie a.exe 湖南农业大学信息科学技术学院 王 奕程序设计语言的翻译方式程序设计语言的翻译方式解释解释(interpreting)(interpreting)一边翻译一边执行,不形成目标代码。一边翻译一边执行,不形成目标代码。如:如:BASICBASIC,LISPLISP,DBASEDBASE、MLML、PrologProlog和和SmalltalkSmalltalk、Visual Bas
6、icVisual Basic、Visual Visual FoxproFoxpro、Power BuilderPower Builder、JavaJava等。等。解释程序解释程序(interpreter)(interpreter)实现解释过程的程序实现解释过程的程序(也称解释器也称解释器),),属系统软件属系统软件范畴。范畴。湖南农业大学信息科学技术学院 王 奕 首先我们会把程序写好,然后储存成文件,接着启首先我们会把程序写好,然后储存成文件,接着启动解释器载入文件,解释器便会逐行读取文件中的程序,动解释器载入文件,解释器便会逐行读取文件中的程序,并且加以执行,执行的过程就称做并且加以执行,执
7、行的过程就称做“解释执行解释执行”。n工作过程工作过程输出数据输出数据解释程序解释程序输入数据输入数据源程序源程序湖南农业大学信息科学技术学院 王 奕“编译编译”部分部分(下图左半边下图左半边),其过程与一般编译器无异,其过程与一般编译器无异,唯一不同的是一般编译器会将程序编译成唯一不同的是一般编译器会将程序编译成“机器码机器码”可执可执行文件,下图则是将程序编译成行文件,下图则是将程序编译成“P-code”可执行文件,可执行文件,而将来这种而将来这种P-code可执行文件被执行时,会启动解释器来可执行文件被执行时,会启动解释器来解释可执行文件中的解释可执行文件中的P-code。(如如:VB6
8、)pseudo code,意思是“伪码”或“近似码”,表示接近机器码的伪码改良式的解释模式改良式的解释模式湖南农业大学信息科学技术学院 王 奕v编译程序的工作一般分为五个阶段编译程序的工作一般分为五个阶段:词法分析词法分析语法分析语法分析中间代码产生中间代码产生代码优化代码优化目标代码产生目标代码产生 同同时时还还会会伴伴有有表表格格处处理理和和出出错错处处理理。其其中中中中间间代代码码生生成成和和代代码码优优化化不不是是每每个个编编译译程程序必需的序必需的。1.2 编译过程和编译程序的基本结构编译过程和编译程序的基本结构 湖南农业大学信息科学技术学院 王 奕1.1.词法分析词法分析v任务任务
9、:输入源程序,对构成源程序的字符串输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词符号。进行扫描和分解,识别出一个个单词符号。v依循的原则:依循的原则:构词规则构词规则vFOR I :=1 TO 100 DOFOR I :=1 TO 100 DO 保留字保留字 标识符标识符 等符等符 整常数整常数 保留字保留字 整常数整常数 保留字保留字描述词法词法的有效工具是描述词法词法的有效工具是正规式和有限自动机正规式和有限自动机湖南农业大学信息科学技术学院 王 奕2.2.语法分析语法分析v任任务务:在在词词法法分分析析的的基基础础上上,根根据据语语言言的的语语法法规规则则把把单词符号串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理 PPT 第一章 编译 原理
限制150内