Namespace codegen::ia32
, delivered for T7. Code generation for
IA32. This is not part of the student project, but it is left
to satisfy their curiosity. In addition its presence is a sane
invitation to respect the constraints of a multi-back-end compiler.
The Tiger runtime in IA32 assembly language:
Our assembly language (syntax, opcodes and layout); it abstracts the generation of IA32 instructions using Gas' syntax.
codegen::ia32::GasAssembly
derives fromcodegen::Assembly
.
The IA32 back-end: a translator from LIR to ASSEM using the IA32 instruction set defined by
codegen::ia32::GasAssembly
. It is implemented as a maximal munch.codegen::ia32::Codegen
derives fromcodegen::Codegen
.
How IA32 fragments are to be displayed. In other words, that's where the (global) syntax of the target assembly file is selected.