四川大学编译原理复习要点.docVIP

  • 1
  • 0
  • 约6.54千字
  • 约 12页
  • 2026-06-05 发布于浙江
  • 举报

优质文档

四川大学编译原理复习要点2013版

编译器各个阶段的功能,输入、输出,前端、后端

词法分析:将字符序列收集到称作记号(token〕的有意义单元中

扫描程序输入:源代码输出:记号

语法分析:从扫描程序中获得记号形式的源代码,并完成定义程序构造的语法分析,语法分析定义了程序的构造元素及其关系。

输入:记号输出:语法树

语义分析程序:分析程序的静态语义,包括声明和类型检查。

输入:语法树输出:注释树

源代码优化程序:编译器通常包括很多代码改良或优化步骤。绝大多数最早的优化步骤是在语义分析之后完成的,而此时代码改良可能只依靠于源代码。

【对源代码进展优化,并产生中间代码】

输入:注释树输出:中间代码

目标代码生成:得到中间代码,生成目标机器的代码

代码生成器输入:中间代码输出:目标代码

目标代码优化程序:编译器改良由代码生成器生成的目标代码。

输入:目标代码输出:目标代码

扫描程序、分析程序和语义分析程序是前端,代码生成器是后端,

前后端分开的好处:可以给编译器带来更便利的可移植性,此时的编译器既能变更源代码,又能变更目标代码。

【遍】编译器发觉,在生成代码之前屡次处理整个源程序很便利,这些重复就是遍。首遍是从源中构造一个语法树或中间代码,在它之后的遍是由处理中间表示

文档评论(0)

1亿VIP精品文档

相关文档