The compilation, linking and loading process. Using lexical analyzers and parsers. Intermediate forms. Global, stack and heap objects, and their addressing modes. Stack implementation. Control flow analysis and optimization. Dataflow analysis and optimization including Static, single assignment. Alias analysis.