![](https://csdnimg.cn/release/download_crawler_static/86034267/bg6.jpg)
术为各种各样的源语言和目标机器构建编译器。
中间代码生成在进行了上述的语法分析和语义分析的工作之后,有的
编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语
言或中间代码。所谓“中间代码”是一种结构简单、含义明确的记号系统,
这种记号系统可以设计为多种多样的形式,重要的设计原则为两点:一是
容易生成;二是容易将它翻译成目标代码。很多编译程采用了一种近似“三
地址指令”的“四元式”中间代码,这种四元式的形式为:(运算符,运算
对象 1,运算对象 2,结果)。
二、编译器的基础知识
一个编译程序就是一个语言翻译程序。它把一种语(称作源语言)书
写的程序翻译成另一种语言(称作目标语言)的等价的程序。比如汇编程
序是一个翻译程序,它把汇编语言程序翻译成机器语言程序。如果源语言
是像 FORTRAN,PASCAL,或 C 那样的高级语言,目标语言是像汇编语言或机
器语言那样的低级语言,则这种翻译程序称作编译程序。
2.1 编译器的发展背景
编译程序是现代计算机系统的基本组成部分之一,而且多数计算机系
统都含有不止一个高级语言的编译程序,对有些高级语言甚至配置了几个
不同性能的编译程序。从功能上看,一个编译程序就是一个语言翻译程序。
它把一种语(称作源语言)书写的程序翻译成另一种语言(称作目标语言)
的等价的程序。比如汇编程序是一个翻译程序,它把汇编语言程序翻译成
机器语言程序。如果源语言是像 FORTRAN,PASCAL,或 C 那样的高级语言,
目标语言是像汇编语言或机器语言那样的低级语言,则这种翻译程序称作
编译程序。
词法分析阶级是编译过程的第一个阶级。这个阶级的任务是从左到右一
个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,