compilers/imcc/imc.c
Routines for handling imc_units,
which represent subs.
Moved all register allocation and spill code to reg_alloc.c
void imc_compile_all_units 
- Compile all imc_units,
and free all memory of instructions and structures afterwards.
 
void imc_compile_unit 
- imc_compile_unit is the main loop of the IMC compiler for each unit.
It operates on a single compilation unit at a time.
 
void imc_cleanup 
- Any activity required to cleanup the compiler state and be ready for a new compiler invocation goes here.
 
static IMC_Unit *imc_new_unit 
- Create a new IMC_Unit.
 
IMC_Unit *imc_open_unit 
- Create a new IMC_Unit and "open" it for construction.
This sets the current state of the parser.
The unit can be closed later retaining all the current state.
 
void imc_close_unit 
- Close a unit from compilation.
Does not destroy the unit,
leaves it on the list.
 
static void imc_free_unit 
- Free all memory allocated of an IMC_Unit structure.