Compilers -- (2010/2011)


This page contains the material relevant to Compilers (academic Year: 2009/10 -- Second Semester) module including lecture handouts and practical material. All enquiries regarding the module should be addressed to Dr. Alessandro Artale.
The course has also a practical aspect with Lab exercises concerning the construction of a compiler for a sub-language of the "C" programming language.


SYLLABUS
Course Syllabus

LECTURES
1. Introduction to Compilers
2. Formal Languages Theory (a refresh from Formal Languages Course)
3. Lexical Analysis
4.1. Syntactic Analysis---Part 1.
4.2. Syntactic Analysis---Part 2.
4.3. Syntactic Analysis---Part 3.
4.4. Syntactic Analysis---Part 4.
5. Semantic Analysis Formalism: Syntax Directed Translation
6. Semantic Analysis: Type Checking and Symbol Table
7. Intermediate Code Generation

TUTORIALS for the LAB
1. Introduction to C
2. Introduction to LEX
3. Introduction to YACC

LABS Exercises
1.1 Exercise: Lexical analizer
1.2 Lexical analizer code
2.1 Calculator: LEX, YACC and Makefile
2.2 Calculator with file input LEX, YACC, Input-File and Makefile
3. Lecture 4: Exercice 1 YACC
4. Lecture 4: Exercice 2 YACC
5. Programming Languages Resources
4.1 Past Exam Paper
4.2 Past Exam Paper

PROJECT -- 30% of the Final Mark
Students will be involved in a project concerning the development of a Compiler. Students should form teams of 2/3 people and decide the language to implement. The deadline to email the project is: Monday, 27th of June, 2011.
The project discussion will be in Room E431 on: Tuesday, 5th of July, 2011 starting at 10am. Schedule File.
To be included in the schedule send me an email.