《编译原理讲义》PPT课件

《编译原理讲义》PPT课件

ID:39016451

大小:590.00 KB

页数:63页

时间:2019-06-23

《编译原理讲义》PPT课件_第1页
《编译原理讲义》PPT课件_第2页
《编译原理讲义》PPT课件_第3页
《编译原理讲义》PPT课件_第4页
《编译原理讲义》PPT课件_第5页
资源描述:

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

1、§1编译概述学时:2知识点:翻译和解释的概念编译的阶段、任务、及典型结构编译程序的伙伴工具§1编译概述简介1.1翻译和解释1.2编译程序的组成1.3编译程序的前后处理器1.4编译原理和技术的应用小结作业2简介什么是编译?编译程序的设计涉及到的知识:程序设计语言形式语言与自动机理论计算机体系结构数据结构算法分析与设计操作系统软件工程等31.1翻译和解释一、程序设计语言二、翻译程序4一、程序设计语言机器语言符号语言汇编语言过程性语言—面向用户的语言如:C、Pascal专用语言—面向问题的语言如:SQL低级语言高级语言充当人与问题和协助解决问题的计算机之间的通讯工具机器语言汇编语言高级程序设计语言

2、5高级语言的优点高级语言独立于机器。所编程序移植性比较好。不必考虑存储单元的分配问题,数据的外部形式转换成机器的内部形式等细节。具有丰富的数据结构和控制结构。更接近于自然语言。编程效率高。6二、翻译程序翻译程序扫描所输入的源程序,并将其转换为目标程序。翻译程序源程序目标程序源程序是用高级语言或汇编语言编写的,而目标程序则是用目标语言表示的。汇编程序汇编语言程序机器语言程序编译程序高级语言程序低级语言程序7高级语言程序的编译和执行阶段编译时间:实现源程序到目标程序的转换所占用的时间。源程序和数据是在不同时间(即分别在编译阶段和运行阶段)进行处理的。源程序目标程序编译程序编译时数据计算机结果执行

3、时8解释程序同时处理源程序和数据解释程序解释执行源程序,但并不生成目标程序边解释边执行源程序数据结果解释程序9赋值语句P:=I+R*60的解释过程解释程序先将源程序转换成一棵树遍历该树,执行结点上所规定的动作。10翻译与解释翻译程序与解释程序的比较翻译程序:以源程序输入顺序处理程序语句解释程序:按照源程序的逻辑流程进行工作解释程序的优缺点优点:与用户通信方便,比较节省内存空间缺点:效率很低解决办法:先翻译成某种中间形式的程序111.2编译程序的组成自然语言的翻译的例子(英译汉)Iwishyousuccess两阶段完成翻译分析:分析单词:I,wish,you,success分析语法:主语,谓语

4、,宾语,宾补分析语义:我希望你成功综合:综合英语的意思、上下文环境和汉语的表达习惯,完成翻译:祝你成功121.2编译程序的组成根据分析结果构造出所要求的目标程序根据源语言的定义,分析源程序的结构1.词法分析2.语法分析3.语义分析4.中间代码生成5.代码优化6.目标代码生成一、分析阶段二、综合阶段三、符号表的管理四、错误诊断和处理13编译程序的典型结构14一、分析阶段任务:根据源语言的定义,对源程序进行结构分析和语义分析,从而把源程序正文转换为某种内部表示。分析阶段是对源程序结构的静态分析。任务划分:1.词法分析2.语法分析3.语义分析151.词法分析词法分析器:依次读入源程序中的每个字符,

5、对构成源程序的字符串进行扫描(从左到右)和分解,识别出每个具有独立意义的字符串作为记号(token)并组织成记号流。把需要存放的单词放到符号表中,如变量名,标号,常量等。形成记号的字符串叫做该记号的单词(lexeme)。工作依据:源语言的构词规则(即词法),也称为模式(pattern)。标识符的模式是:以字母开头的字母数字序列。16对赋值语句P:=I+R*60的词法分析(1)标识符P(2)赋值号:=(3)标识符I(4)加号+(5)标识符R(6)乘号*(7)整常数6017空格、注释的处理及其他分隔记号的空格:被删去源程序中的注释:被跳过识别出来的标识符要放入符号表。对某些记号还要增加一个“属性

6、值”如发现标识符R时,词法分析器不仅产生一个记号如id,还把它的单词R填入符号表(如果R在表中不存在的话),记号id的属性值就是指向符号表中R条目的指针。182.语法分析把记号流按语言的语法结构层次地分组,以形成语法短语。源程序的语法短语常用分析树表示工作依据:源语言的语法规则程序的层次结构通常由递归的规则表示,如表达式的定义如下:(1)任何一个标识符是一个表达式(2)任何一个数是一个表达式(3)如果expr1和expr2是表达式,则expr1+expr2、expr1*expr2、(expr1)也都是表达式。19赋值语句P:=I+R*60的分析树20语句的递归定义如果id是一个标识符,exp

7、r是一个表达式,则id:=expr是一个语句。如果expr是表达式,stmt是语句,则while(expr)dostmt和if(expr)thenstmt都是语句。213.语义分析对语句的意义进行检查收集类型等必要信息用语法分析确定的层次结构表示各语法成份工作依据:源语言的语义规则一个重要任务:类型检查22插入转换符的赋值语句P:=I+R*60的语法树23赋值语句P:=I+R*60的各分析步骤及其中间结果P:

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

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

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