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

SUBJECT

Code
Subject
MI366 Advanced Compiler Design
Section
Semester
Hours: C+S+L
Category
Type
Component-Based Programming - in English
1
2+2+0
compulsory
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. 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%
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject