|
Module Title |
Compiler Construction 1
|
|
Module Code |
CA448
|
|
School |
Computing
|
Online Module Resources
|
| Module Co-ordinator | Dr Geoff Hamilton | Office Number | L2.55 |
|
Level |
4
|
Credit Rating |
5
|
|
Pre-requisite |
None
|
|
Co-requisite |
None
|
|
|
Module Aims
|
The aims of this module are:
7 To give students a comprehensive grounding in the techniques used in the front end of compilers.
7 To give an overview of the different phases of the front end of a compiler.
7 To study lexical analysis, syntax analysis (top-down and bottom-up) and semantic analysis in detail.
|
|
Learning Outcomes
|
As a result of this module, students will have a good understanding of the following:
7 The function of the different phases of a compiler.
7 Lexical analysis techniques.
7 Top-down and bottom-up parsing algorithms.
7 Semantic analysis techniques.
7 Implementing interpreters.
|
|
Indicative Time Allowances
|
|
|
Hours
|
|
Lectures |
24
|
|
Tutorials |
0
|
|
Laboratories |
0
|
|
Seminars |
51
|
|
Independent Learning Time |
0
|
|
|
|
|
Total |
75
|
|
Placements |
|
|
Assignments |
|
|
|
NOTE
|
Assume that a 5 credit module load represents approximately 75 hours' work, which includes all teaching, in-course assignments, laboratory work or other specialised training and an estimated private learning time associated with the module.
|
|
Indicative Syllabus
|
|
Students will study the following:· Structure of a compiler· Languages and grammars· Lexical analysiso Regular expressionso DFAso Regular grammarso Conversion of regular expressions to DFAso Implementation of lexical analysers· Syntax analysiso Context-free grammarso Derivationso Precedenceo Ambiguity· Top-down parsingo Predictive parsingo Conversion of grammars to predictive formo Recursive descent parsingo LL(1) parsingo Constructing LL(1) parsing tableso Error recoveryo Implementation of top-down parsers· Bottom-up parsingo Handleso Shift-reduce parsingo LR parsingo Constructing LR(0) parsing tableso Constructing SLR(1) parsing tableso Constructing LR(1) parsing tableso Constructing LALR(1) parsing tableso Error recoveryo Implementation of bottom-up parsers· Semantic analysiso Context-sensitive analysiso Intermediate representationso Semantic actionso Incorporating semantic actions in top-down parserso Incorporating semantic actions in bottom-up parserso Implementing interpreterso Attribute grammarso Evaluating attributes in top-down parserso Evaluating attributes in bottom-up parserso Type checking
|
| Assessment | | Continuous Assessment | 30% | Examination Weight | 70% |
|
|
Indicative Reading List
|
|
Essential Andrew W. Appel, Modern Compiler Implementation in Java, Cambridge University Press, 1998, ISBN 0-521-58388-8SupplementaryAlfred V. Aho, Ravi Sethi and Jeffrey D. Ullman, Compilers: Principles, Techniques and Tools, Addison-Wesley, 1986, ISBN 0-201-10194-7
|
|
|
|
Programme or List of Programmes
|
| BSSA | Study Abroad (DCU Business School) |
| BSSAO | Study Abroad (DCU Business School) |
| ECSA | Study Abroad (Engineering & Computing) |
| ECSAO | Study Abroad (Engineering & Computing) |
| HMSA | Study Abroad (Humanities & Soc Science) |
| HMSAO | Study Abroad (Humanities & Soc Science) |
| SHSA | Study Abroad (Science & Health) |
| SHSAO | Study Abroad (Science & Health) |
| Timetable this semester: Timetable for CA448 |
| Date of Last Revision | 08-AUG-05 |
| Archives: | |