Latest Module Specifications
Current Academic Year 2025 - 2026
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Description This module aims to: • give students a comprehensive understanding of the techniques used in compilers; • give an overview of the phases of a compiler; • study lexical analysis, syntax analysis and semantic analysis in detail; • give an overview of the run-time environments used to support the compilation process; and • study intermediate code generation, optimization techniques, object code generation and register allocation in detail. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Learning Outcomes 1. Explain the function of the different phases of a compiler. 2. Apply the techniques used in lexical analysis. 3. Develop a lexical analyser. 4. Use algorithms for top-down and bottom-up parsing. 5. Develop a parser. 6. Apply the techniques used in semantic analysis. 7. Describe the different run-time environments used in the back-end of a compiler. 8. Apply techniques for intermediate code generation. 9. Use different techniques for the optimization of intermediate code. 10. Apply techniques for the generation of object coed from intermediate code. 11. Perform register allocation for object code. 12. Develop the back-end of a compiler. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Content and Learning Activities
Structure of a compiler. Lexical Analysis. Syntax Analysis Top-down and bottom-up parsing. Semantic Analysis Abstract syntax tree and the visitor pattern. Intermediate code generation Intermediate code optimisation Object code generation Register allocation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Reading List Books:
Articles: None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Other Resources None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||