编译原理 尹剑飞 科技楼1406 vifbase(avahoo.com.cn 13424410028
编译原理 尹剑飞 科技楼1406 yjfbase@yahoo.com.cn 13424410028
编译原理和技术的重要性 设计和开发编译器的原理和技术将会在 计算机工作者的职业生涯中被多次使用 > 编译器的构造综合了计算机科学的各个方面: 计算机理论、程序设计、软件工程,是理 论应用于实践的成功典范。->
编译原理和技术的重要性 设计和开发编译器的原理和技术将会在一个 计算机工作者的职业生涯中被多次使用。--- > 编译器的构造综合了计算机科学的各个方面: 计算机理论、程序设计、软件工程,是理 论应用于实践的成功典范。-->
编译原理和技术的重要性 自计算机科学诞生以来,语言处理器的工 程化就一直在推动,随着相关理论的开发 不断改进。-> ■相对其它技术而言,编译器技术是一种内 功修炼,因为任何计算机问题都可以化为 语言翻译问题- some one
编译原理和技术的重要性 ◼ 自计算机科学诞生以来,语言处理器的工 程化就一直在推动,随着相关理论的开发 不断改进。-- > ◼ 相对其它技术而言,编译器技术是一种内 功修炼,因为任何计算机问题都可以化为 语言翻译问题 -- some one
第一章编译器介绍 ■1.1编译器概貌 ■12源程序分析 13编译器的阶段 14编译器的同胞 15阶段的组合 ■1.6编译器构造工具
第一章 编译器介绍 ◼ 1.1 编译器概貌 ◼ 1.2 源程序分析 ◼ 1.3 编译器的阶段 ◼ 1.4 编译器的同胞 ◼ 1.5 阶段的组合 ◼ 1.6 编译器构造工具
11编译器概貌 111编译器IO 编译器 源程序 目标程序 (程序) 错误信 第一个编译器出现于1950年 第一个 Fortran编译器花了18人年 通过工具支持,基本的编译器可作为学生项目,在一个学期内 完成
1.1 编译器概貌 编译器 (程序) 错误信息 源程序 目标程序 第一个编译器出现于1950年 第一个Fortran编译器花了18人年 通过工具支持,基本的编译器可作为学生项目,在一个学期内 完成。 1.1.1 编译器IO
11编译器概貌 112编译过程分为两个基本部分 分析( Analysis nthes 源程序艹分析尸中间表示(综合→目标程序 语法树
◼ 分析 ( Analysis ) ◼ 综合 ( Synthesis ) 源程序 分析 中间表示 综合 目标程序 语法树 1.1.2 编译过程分为两个基本部分 1.1 编译器概貌
11编译器概貌 113语法树例子 poSition initial 米 rate 60 position= initial rate *60
1.1 编译器概貌 1.1.3 语法树例子 = position initial rate 60 + * position = initial + rate * 60
11编译器概貌 ■很多软件(不一定是编译器)执行类似的 “分析” ■结构编辑器,如: HTML editor 格式化(美化)打印,如:自动排版系统 静态检查,如:语法检査器 解释器,如:表达式计算器,SO检查解释器, 1ava∴
1.1 编译器概貌 ◼ 很多软件(不一定是编译器)执行类似的 “分析” ◼ 结构编辑器,如:HTML editor ◼ 格式化(美化)打印,如:自动排版系统 ◼ 静态检查,如:语法检查器 ◼ 解释器,如:表达式计算器,SQL检查解释器, java …
11编译器概貌 ah,bh,,C.cpp可重定位的库可重定位的 预处理 机器码 机器码 程序的热 D. CpI 裝载和联接编辑 编译器是信样炼成的3 绝对机器码 E.asm 汇编器 操作系统
1.1 编译器概貌 D.cpp 绝对机器码 E.asm 可重定位的 机器码 库可重定位的 机器码 装载和联接编辑器 操作系统 a.h,b.h, ..,C.cpp 预处理 编译器 汇编器 程序的执行 是怎样炼成的?
12源程序“分析” 分析包括三个阶段 词法分析(线性分析):字符>词( Token) ■语法分析(层次分析):词->句 ■语义分析:句>正确(有意义)的句子
1.2 源程序 “分析” ◼ 分析包括三个阶段 ◼ 词法分析(线性分析):字符->词(Token) ◼ 语法分析(层次分析):词->句 ◼ 语义分析:句->正确(有意义)的句子