Converts the entire source-code into Bytecode before runtime. Structure Tokenizer Syntactic Analysis Semantic Analysis (Checker) IR Generation CFG Analyzer Machine Independent Optimizer Codegen Machine Dependent Optimization