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) ◼ 语法分析(层次分析):词->句 ◼ 语义分析:句->正确(有意义)的句子