编译原理第2讲ppt课件.pptx

编译原理第2讲ppt课件.pptx

ID:59486339

大小:310.30 KB

页数:48页

时间:2020-09-13

编译原理第2讲ppt课件.pptx_第1页
编译原理第2讲ppt课件.pptx_第2页
编译原理第2讲ppt课件.pptx_第3页
编译原理第2讲ppt课件.pptx_第4页
编译原理第2讲ppt课件.pptx_第5页
资源描述:

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

1、第1讲作业题1.解释下列术语:翻译程序、汇编程序、编译程序、解释程序、源程序、目标程序、编译程序的前端和后端和趟2.编译程序与解释程序的根本区别在于?3.一般来说,编译程序分为哪5个阶段,同这5个阶段都要打交道的是?4.错误处理的主要任务是什么?对下列错误信息,请指出可能是编译的哪个阶段报告的?Else没有匹配if数组下标越界使用的函数没有定义在数中出现非数字字符5.高级语言书写的源程序只有被或者后才能执行。6.语言处理程序分为、和。习题答案1、翻译程序即语言处理程序,是把以汇编语言或高级语言编写的源程序翻译成机器语言目标

2、程序的工具。2、汇编程序是把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。3、编译程序是将高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序。4、解释程序是把源语言书写的源程序作为输入,对源程序逐条解释,解释一条就提交计算机执行一条,直至执行完整个程序。就像外语翻译中的“同声翻译”一样,说一句翻一句,不产生全文的翻译文本。5、源程序:未经语言处理程序处理的以汇编语言或高级语言编写的程序。6、目标程序:源程序经过语言处理程序处理后翻译成的另一种等价的程序。编译各阶段的分组前端和后端前端依

3、赖于源程序并在很大程度上独立于目标机器。前端与源语言有关,包括词法分析、语法分析、语义分析与中间代码产生,以及相关的错误处理和符号表的建立。源语言中间语言目标语言前端后端后端主要包括代码优化、代码生成和相关错误处理,后端依赖于目标机器。后端处理对象是由前端产生的结果,即中间代码。所谓趟,是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。每趟扫视可完成编译过程中一个阶段或多个阶段的工作。编译程序与解释程序的根本区别在于是否生成目标代码。一般来说,编译程序分为词法分析,语法分析,语义分析和中间代码生成,代码优化

4、,目标代码生成5个阶段,同这5个阶段都要打交道的是符号管理表程序和错误处理器。错误处理的主要任务是:把检测到的错误局部化,尽可能多地编译源程序代码,以便发现更多的错误,有可能的话进行适当的错误校正。对下列错误信息,请指出可能是编译的哪个阶段报告的?Else没有匹配if(语法分析)数组下标越界(语义分析)使用的函数没有定义(语法分析)在数中出现非数字字符(词法分析)高级语言书写的源程序只有被编译或者解释后才能执行。语言处理程序分为编译程序、汇编程序和解释程序。编译器各阶段源程序:高级程序设计语言词法分析器错误处理器符号管理表

5、语法分析器语义分析器中间代码生成器代码优化器代码生成器词法单元语法分析树中间代码:三地址码或四元式中间代码目标代码:汇编语言或机器语言必要必要必要可选可选可选编译器是分阶段执行的。每个阶段将源程序从一种表示转换成另一种表示第二讲词法分析一、词法分析程序(词法分析器)的功能输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词(词素)符号并添加到符号表中,并用词法单元方式表示识别出的单词,生成并输出一个词法单元序列。同时还可检查出源程序中的词法错误,如拼写错误。源程序词法分析器词法单元序列符号管理表错误处理器输入输

6、出报错一、词法分析程序(词法分析器)的功能=80;eniLLine=80;==;;输入25,Line36,27,8045,输出若标识符词类编码为25,等号词类编码为36,数字常量词类编码为27,分号词类编码为45概念1:单词(词素)单词是一个程序设计语言的基本字符。保留字是程序语言定义的具有固定含义的英文单词,有时称为关键字或基本字。保留字不能作为变量名或过程名使用。例如:c语言的保留字包括:auto:声明自动变量double:声明双精度变量或函数int:声明整型变量或函数struct:声明结构体变量或函数

7、break:跳出当前循环等在现今多数程序设计语言中,单词符号一般分为:保留字、标识符、常量、运算符和分界符等概念1:单词(词素)标识符:在编程语言中,标识符是用户编程时用来表示各种名字的字符串例如:C语言标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。概念1:单词(词素)常量:指在程序运行过程中,其值不可改变的量例如:在C语言中,常量分为如下类型整型常量:100、-200、32767字符常量:‘b’、'y'字符

8、串常量:"howdoyoudo.","CHINA","a","$123.45"浮点型常量:+1.2E+5、1.5e-9、-5.0e10符号常量:在使用之前必须先定义,其一般形式为:#define标识符常量,如:#definePRICE30概念1:单词(词素)运算符:包括算术运算符、关系运算符、逻辑运算符

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

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

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