# Intermediate code generation - To access named parameters and local variables inside a procedure, IR should be able to reference them. During the generation the needed information (e.g. offsets or registers) can be extracted from the symbol table and saved in the operands. # ELF generation - Don't ignore relocations where the symbol is not defined in the symbol table. Report an error about an undefined symbol. # Name analysis - Format error messages. - Return non-zero error code on errors. # Register allocation - Each temporary variales gets a tn register where n is the variable index. If there more variables the allocation will fail with out of bounds runtime error. Implement spill over. # Other - Type analysis.