Converts the entire source-code into Bytecode before runtime. Structure Tokenizer Syntactic Analysis Semantic Analysis Intermediate Representation Codegen Compiler Analysis Machine Independent Optimizer and Dataflow Analysis Bytecode Codegen Machine Dependent Optimization