The src/assem
Directory
Namespace assem, delivered for TC-7.
This directory contains the implementation of the Assem language: yet another intermediate representation that aims at encoding an assembly language, plus a few needed features so that register allocation can be performed afterward. Given in full.
Files: instr.* & move.* & oper.* & label.* & comment.* (src/assem/)
Implementation of the basic types of assembly instructions.
File: fragment.* (src/assem/)
Implementation of
assem::Fragment
,assem::ProcFrag
, andassem::DataFrag
. They are very similar totree::Fragment
: aggregate some information that must remain together, such as aframe::Frame
and the instructions (a list ofassem::Instr
).
File: visitor.hh (src/assem/)
The root of assembler visitors.
File: layout.hh (src/assem/)
A pretty printing visitor for
assem::Fragment
.
File: libassem.* (src/assem/)
The interface of the module, and its implementation.