- Compiler Design - Code Optimization
- Compiler Design - Code Generation
- Compiler - Intermediate Code
- Compiler Design - Symbol Table
- Compiler - Run-time Environment
- Compiler Design - Semantic Analysis
- Compiler Design - Error Recovery
- Compiler Design - Bottom-Up Parser
- Compiler Design - Top-Down Parser
- Compiler Design - Types of Parsing
- Compiler Design - Syntax Analysis
- Compiler Design - Finite Automata
- Compiler - Regular Expressions
- Compiler Design - Lexical Analysis
- Compiler Design - Phases of Compiler
- Compiler Design - Architecture
- Compiler Design - Overview
- Compiler Design - Home
Compiler Design Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Compiler Design - Architecture
A compiler can broadly be spanided into two phases based on the way they compile.
Analysis Phase
Known as the front-end of the compiler, the analysis phase of the compiler reads the source program, spanides it into core parts and then checks for lexical, grammar and syntax errors.The analysis phase generates an intermediate representation of the source program and symbol table, which should be fed to the Synthesis phase as input.
Synthesis Phase
Known as the back-end of the compiler, the synthesis phase generates the target program with the help of intermediate source code representation and symbol table.
A compiler can have many phases and passes.
Pass : A pass refers to the traversal of a compiler through the entire program.
Phase : A phase of a compiler is a distinguishable stage, which takes input from the previous stage, processes and yields output that can be used as input for the next stage. A pass can have more than one phase.