- 4
- 0
- 约1.8千字
- 约 26页
- 2016-07-21 发布于湖北
- 举报
第一章????引论 ;二、编译过程概述 ????一个编译程序的整个过程是划分成阶段进行的,可划分为:源程序—词法分析—语法分析—语义分析—中间代码生成—代码优化—目标代码生成—目标程序。其中表格处理和出错处理贯穿整个过程。如图所示。;词法分析阶段:编译过程的第一阶段。任务是从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也称单词符号或符号)。单词间的空格被滤掉。
语法分析:第二阶段。在词法分析的基础上将单词序列分解成语法短语,如“程序”,“语句”,“表达式”等。语法短语也叫语法单位,可表示成语法树。语法分析所依据的是语言的语法规则,通过语法分析确定整个输入串是否构成一个语法上正确的程序。
语义分析阶段:审查源程序有无语意错误,为代码生成阶段收集类型信息。比如它的一个工作是进行类型审查,审查每个算符是否具有语言规范允许的运算对象,当不符合语言规范时,编译程序就报错。例如,不能用实数作数组下标而用了就报错。
中间代码生成:在语法分析和语意分析阶段的工作以后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫中间语言或中间代码。 “中间代码”是一种结构简单,含义明确的记号系统,可设计为多种多样的形式,重要的色痕迹原则有两点:一是容易生成,二是容易将它翻译成目标代码。多数编译程序使用了一种近似“三地址四指令”的“四元式”中间
原创力文档

文档评论(0)