时间:2021-03-05 点击: 次 来源:网络 作者:佚名 - 小 + 大
https://zhuanlan.zhihu.com/p/53870603
正文之前,附上一点关于昨天编译器和解释器的思考:
今天的内容是冠以编译器的结构。(翻译内容可能不太准确,谅解,凑合看吧) 编译器相当于一个黑盒子,能够把源程序映射为在语义上等价的目标程序,而这个黑盒子中映射的过程主要由两个部分组成:分析部分和综合部分。 分析部分: 分析部分把源程序分解成为多个组成要素,并在这些要素之上加上语法结构。它还会收集有关源程序的信息,并把信息存放在一个称为符号表的数据结构中,符号表将和中间表示形式一起传送给综合部分。 综合部分: 综合部分根据中间表示和符号表中的信息来构造用户期待的目标程序,分析部分经常被称为编译器的前端,而综合部分称为后端。 ![]() 一个编译器的各个步骤 ![]() 一个赋值语句的翻译 ![]() 人丑就要多读书 ![]() |
上一篇:C++编译器与链接器工作原理
下一篇:走进Golang之编译器原理