[高等教育]1编译程序概述

[高等教育]1编译程序概述

ID:27735388

大小:246.00 KB

页数:18页

时间:2018-12-04

[高等教育]1编译程序概述_第1页
[高等教育]1编译程序概述_第2页
[高等教育]1编译程序概述_第3页
[高等教育]1编译程序概述_第4页
[高等教育]1编译程序概述_第5页
资源描述:

《[高等教育]1编译程序概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理主讲:蒋贤芳课程简介先行课程:高等数学、C(PASCAL)、离散数学、汇编语言、数据结构编译原理课程应用领域编译器的设计一般的软件设计例如:文本编辑器、信息检索系统、模式识别器排版、绘图系统程序验证器编译原理吕映芝清华大学出版社编译程序设计原理杜淑敏等北京大学出版社编译原理习题解答伍春香等清华大学出版社编译程序构造原理和实现技术金成植高等教育出版社程序设计语言编译程序陈火旺等国防工业出版社CompilerConstructionPrincipleandPratice编译原理及实践KennethC.Louden机械工业出版

2、社参考书籍参考书籍作业成绩10%+出勤10%+期考成绩80%考试成绩编译原理第一章编译程序概述第二章一个微小编译器第三章文法和语言第四章词法分析第五章自顶向下语法分析方法第六章自底向上优先分析方法第七章LR分析方法第八章语法制导翻译和中间代码生成第九章符号表第一○章代码优化第一一章代码生成1.1什么叫编译程序翻译程序:能够将某种语言写的程序转换成另一种语言的程序,而且后者与前者在逻辑上是等价的。编译程序:是一种将高级语言程序(源程序)翻译成低级语言(目标程序)的程序1.1什么叫编译程序1.功能编译程序程序设计语言机器语言2、计算

3、机语言的层次三个层次:高级语言、汇编语言、机器语言语言转化:高级语言-->机器语言(编译) 机器语言-->高级语言(反编译) 汇编语言-->机器语言(汇编) 机器语言-->汇编语言(反汇编)编译的过程3、什么是编译原理编译原理是讨论编译程序设计的基本理论、基本概念和基本方法的一门学科。1.2编译过程概述1、六个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成2、每个阶段的任务:词法分析:从左到右扫描源程序,识别出一个个单词保留字、标识符、常数、运算符、分界符例:intsum,first,count;sum

4、=first+count*10;a、滤掉空格b、识别单词词法分析的工作主要依据语言的词法规则,描述词法规则的有效工具是正规式和有限自动机。编译过程概述(续)语法分析:在词法分析的基础上,根据语言的语法规则,将单词符号串分解成各类语法短语(例:程序、语句、表达式)例:表达式:标识符、常数是表达式;表达式的运算也是表达式 语句:标识符=表达式while(布尔表达式)do语句if(表达式)then语句else语句A:=B+C*5语法分析所依据的是语言的语法规则,表示语法规则的工具是上下文无关文法,用下推自动机实现。编译过程概述(续)语

5、义分析和中间代码生成:对语法分析所识别出的各类语法单位分析其含义,进行初步的翻译(翻译成中间代码)。这一阶段有两项工作:首先对每种语法范畴进行静态语义审查(如是否定义,类型是否匹配等),若无语义错误,进行中间代码的翻译。例:A=A*B+C(检查A、B、C类型)中间代码有多种形式,如:四元式:(运算符,运算对象1,运算对象2,结果)(+,A,B,T1)(+,T1,C,T2)(=,T2,-,A)语义分析依据的是语言的语义规则,表示工具是属性文法。编译过程概述(续)代码优化:对已产生的中间代码进行加工变换,使生成的目标代码更为高效。优

6、化包括:公共子表达式的提取、循环优化、删除无用代码等。代码的优化依据的是程序的等价变换规则。优化前:(+,A,B,T1)(+,T1,C,T2)(=,T2,-,A)优化后:(+,A,B,T1)(+,T1,C,A)目标代码的生成:把中间代码(或经优化的中间代码)变换成特定机器上的低级语言代码。目标代码可以是:绝对指令代码、可重定位的指令代码、汇编指令代码编译程序的结构编译程序的结构(续)几个概念符号表:登记源程序中出现的名字以及名字的各种属性出错处理:遍:对源程序或源程序的中间结果从头到尾扫描一次,并作有关的加工处理,生成新的中间结

7、果或目标程序。编译前端:主要指与源语言有关,与目标语言无关的部分,通常包括词法分析、语法分析、语义分析和中间代码生成,与机器无关部分的代码优化编译后端:指与目标机器有关的部分。如与机器有关的优化、目标代码生成构造编译程序一般生成编译程序的方法有:用一种语言写另一种语言的编译程序在一台机器上用一种语言写另一台机器上(另)一种语言的编译程序自编译方式构造编译程序要掌握以下几方面的内容:源语言:理解其结构和含义目标语言:必须清楚硬件的系统结构和指令的格式等编译方法作业教材练习第2、4题P12

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

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

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