Things to learn during this stage that you should remember:
Different kinds of microprocessors, different spirits in assembly.
Understanding how computer actually run.
Recursive languages need memory management to implement automatic variables.
Writing/debugging a code generator with MonoBURG.
Instr are contained in
Instrs, itself in
Fragments. Suppose you mean to add a debugging flag to
Instr, what shall you do? Add another argument to all
dump methods in these four hierarchies? The problem with
Temp is even worse: they are scattered everywhere, yet we would like
to specify how to output them thanks to a
std::map. Should we
pass this map in each and every single call?
ostream::iword saves the day.