“A portable compiler: theory and practice”的版本间的差异
来自Dennis的知识库
Dennis zhuang(讨论 | 贡献) |
Dennis zhuang(讨论 | 贡献) |
||
(未显示1个用户的2个中间版本) | |||
第11行: | 第11行: | ||
• The target machine optimizer | • The target machine optimizer | ||
• The universal assembler/linker • The utility package | • The universal assembler/linker • The utility package | ||
+ | |||
+ | [[文件:Amsterdam_compiler_kit.png]] | ||
+ | |||
+ | == The preprocessor == | ||
+ | |||
+ | * extend all the program- ming languages by adding certain generally useful facilities to them in a uniform way. One of these is a simple macro system, | ||
+ | * Another useful facility provided by the preprocessor is the ability to include compile-time libraries. | ||
+ | * A third feature of the preprocessor is conditional compila- tion. | ||
+ | |||
+ | == The front ends == | ||
+ | |||
+ | * All front ends, independent of the language being compiled, produce a common intermediate code called EM, which is the assembly language for a simple stack machine. The EM machine is based on a memory architecture containing a stack for local variables, a (static) data area for variables de- clared in the outermost block and global to the whole pro- gram, and a heap for dynamic data structures. | ||
+ | * |
2017年5月8日 (一) 09:08的最后版本
[编辑] Overview of the amsterdam compiler kit
The tool kit consists of eight components:
• The preprocessor • The front ends • The peephole optimizer • The global optimizer • The back end • The target machine optimizer • The universal assembler/linker • The utility package
[编辑] The preprocessor
- extend all the program- ming languages by adding certain generally useful facilities to them in a uniform way. One of these is a simple macro system,
- Another useful facility provided by the preprocessor is the ability to include compile-time libraries.
- A third feature of the preprocessor is conditional compila- tion.
[编辑] The front ends
- All front ends, independent of the language being compiled, produce a common intermediate code called EM, which is the assembly language for a simple stack machine. The EM machine is based on a memory architecture containing a stack for local variables, a (static) data area for variables de- clared in the outermost block and global to the whole pro- gram, and a heap for dynamic data structures.