语言全解学习.pptx
《语言全解学习.pptx》由会员分享,可在线阅读,更多相关《语言全解学习.pptx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 简 介课程内容介绍编译器构造的一般原理和基本实现方法介绍的理论知识:形式语言和自动机理论、语法制导的定义和属性文法、类型论等强调形式化描述技术强调对编译原理和技术的宏观理解,不把注意力分散到枝节算法,不偏向于某种源语言或目标机器第1页/共28页课 程 简 介学习的意义对编程语言的设计和实现有深刻的理解,对和编程语言有关的理论有所了解,对宏观上把握编程语言来说,起一个奠基的作用。从软件工程看,编译器是一个很好的实例,所介绍的概念和技术能应用到一般的软件设计之中。大多数程序员同时是简单语言的设计者,有助于提高对这些语言的设计水平。在软件逆向工程、程序理解和软件安全等方面有着广泛的应用。第2
2、页/共28页课 程 简 介教材和参考书1、吕映芝、张素芹、蒋维杜,编译原理,清华大学出版社 1998.12、Alfred V.Aho、Ravi Sethi、Jeffrey D.Ullman 著,李建中、姜守旭译,编译原理,机械工业出版社 2004.8第3页/共28页第一章第一章第一章第一章 编译程序概论编译程序概论编译程序概论编译程序概论1.1 1.1 什么是编译程序什么是编译程序 第4页/共28页第5页/共28页编译程序:是一种翻译程序,它能够把某种语言的程序转换成另一种语言的程序,而后者与前者在逻辑上是等价的。如果源语言是诸如FORTRAN、Pascal、C、Smalltalk或Java这
3、样的“高级语言”,而目标语言如汇编语言之类的“低级语言”这样的翻译程序则称之为编译程序。第6页/共28页编译程序高级语言程序高级语言程序(源程序)(源程序)低级语言程序低级语言程序(目标程序)(目标程序)编译程序的功能编译程序的功能第7页/共28页需预处理的源程序需预处理的源程序预处理程序预处理程序高级语言程序的处理过程高级语言程序的处理过程源程序源程序编译程序编译程序汇编程序汇编程序目标汇编程序目标汇编程序可再装配的机器代码可再装配的机器代码装配装配/连接编辑程序连接编辑程序绝对机器代码绝对机器代码可再装配目标文件可再装配目标文件第8页/共28页1.2 1.2 编译过程概述编译过程概述词法分
4、析语法分析语义分析代码优化源程序单词符号语法单位中间代码中间代码表格管理出错处理目标代码生成目标代码中间代码产生第9页/共28页 掌握编译过程的六个基本阶段,是我们学习掌握编译过程的六个基本阶段,是我们学习编译原理课程的基本内容,把编译的六个基本阶编译原理课程的基本内容,把编译的六个基本阶段与英译中的六个步骤相比较,有利于对编译过段与英译中的六个步骤相比较,有利于对编译过程的理解:程的理解:第10页/共28页英译与编译的比较1.1.识别出句子中的一个个单词识别出句子中的一个个单词2.2.分析句子的语法结构分析句子的语法结构3.3.初步翻译句子的含意初步翻译句子的含意4.4.译文修饰译文修饰5.
5、5.写出最后译文写出最后译文1.词法分析词法分析2.2.语法分析语法分析3.3.语义分析中间代码生成语义分析中间代码生成4.4.代码优化代码优化5.5.目标代码生成目标代码生成第11页/共28页1.2.1 词法分析 输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词(也称单词符号,或简称符号)在词法分析阶段工作所依循的是语言的词法规则。描述词法规则的有效工具是正规式和有限自动机。例:float a,b,c;a=b+c*10;第12页/共28页1.2.2 语法分析 语法分析的任务:在词法分析的基础上,根据语言的语法规则,把单词符号分解成各类语法单位(语法范畴),如“短语”、“句子”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习
限制150内