"Babes-Bolyai" University of Cluj-Napoca
Faculty of Mathematics and Computer Science

Advanced Compiler Design
Code
Semes-
ter
Hours: C+S+L
Credits
Type
Section
MI366
1
2+2+0
9
compulsory
Programare bazată pe componente - în limba engleză
Teaching Staff in Charge
Lect. 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. Language-dependent mechanisms in compiler implementation
I.1 Functional and logical languages
I.2 Imperative and object-oriented languages
I.3 Distributed languages
II. Advanced compiler tehniques
II.1 Virtual machines
II.2 Garbage collection mechansim
II.3 Dynamic compilation
III. Compilers for .NET
III.1 .NET architecture basics
III.2 program execution scheme in .NET
III.3 MSIL - intermediary representation in .NET
III.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. RICHTER, J.: Applied Microsoft .NET Framework Programming, Microsoft Press, 2002
4. LIDIN, SERGE: Inside .NET IL Assembler, Microsoft Press International, 2002
5. STUTZ, DAVID - NEWARD, TED - SHILLING, GEOFF: Shared Source CLI Essentials, O'Reilly UK, 2003
6. 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%