Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate

SUBJECT

Code
Subject
MIF0005 Advanced Compiler Design
Section
Semester
Hours: C+S+L
Category
Type
Computer Science - in English
6
2+0+1
speciality
optional
Information engineering
8
2+0+2
speciality
optional
Teaching Staff in Charge
Assoc.Prof. MOTOGNA Simona Claudia, Ph.D.,  motognacs.ubbcluj.ro
Aims
The course will cover modern mechanisms for compiler implementation, taking into consideration various optimizations for different programming languages. The students should be able to understand compiler design and to implement these techniques.
Content
I. Back -end of a compiler:
I.1 Intermediary code generation
I.2 Code Optimization
I.3 Object code generation
II. Language-dependent mechanisms in compiler implementation
II.1 Functional and logical languages
II.2 Imperative and object-oriented languages
II.3 Distributed languages
III. Advanced compiler techniques
III.1 Virtual machines
III.2 Garbage collection mechanism
III.3 Dynamic compilation
IV. Compilers for .NET
IV.1 .NET architecture basics
IV.2 program execution scheme in .NET
IV.3 MSIL - intermediary representation in .NET
IV.4 CLI - Common Language Infrastructure

References
1. GRUNE, DICK - BAL, H. - JACOBS, C. - LANGENDOEN, K.: Modern Compiler Design, John Wiley, 2000
2. MITCHELL, JOHN: Foundations for Programming Languages, MIT Press, 1996
3. MOTOGNA, SIMONA: Metode de proiectare a compilatoarelor, Ed. Albastra, 2006
4. RICHTER, J.: Applied Microsoft .NET Framework Programming, Microsoft Press, 2002
5. LIDIN, SERGE: Inside .NET IL Assembler, Microsoft Press International, 2002
6. STUTZ, DAVID - NEWARD, TED - SHILLING, GEOFF: Shared Source CLI Essentials, O@Reilly UK, 2003
7. Sun Java Systems, [http://docs.sun.com/db/prod/java.sys], 01.09.2004
Assessment
The final grade will take into consideration:
- project (practical) 30%
- presentation (case study + domain review) 20%
- written exam 50%
Foe academic year 2009-2010, see
http://cs.ubbcluj.ro/~motogna/AdvancedCompilerDesign.html
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject