● 目标代码优化
MOV R0 , index MUL R0 , 2 MOV R1, &a ADD R1 , R0 MOV *R1, 6
MOV R0, index SHL R0 MOV &a[R0],6
2020/10/28 北京化工大学信息科学与技术学院计算机系 11
2.4 与编译相关的数据结构
● 枚举类型: 记号(tokens)种类、语法单位等的命名;
Subscript-expression integer
Number 6 integer
Identifier a
Identifier index
Array of integer
integer
2020/10/28 北京化工大学信息科学与技术学院计算机系 10
● 代码生成
Input: intermediate code or IR Output: machine code, code for the target machine
● 程序设计语言
机器语言
低级语言:面向机器的语言
程序
汇编语言
设计 语言
过程式语言 Fortran,Pascal,C…
高级语言 函数式语言 Lisp… 逻辑式语言 Prolog…
对象式语言 C++…
2020/10/28 北京化工大学信息科学与技术学院计算机系 2
● Building a Program 构建程序
● 结构体: 分析树(parser tree) 、语法树(syntax tree)的 结点,符号表(symbol table)等;
● 树型结构: 分析树、语法树、注释树等;
● 线性表、 哈希表:符号表、常数表(literal table );