Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
FIŞA DISCIPLINEI

Codul	Disciplina	
MIF0005	Proiectare avansată de compilatoare	

Specializarea	Sem.	Ore: C+S+L	Categoria	Statutul	
Informatică - în limba engleză	6	2+0+1	specialitate	optionala	
Ingineria informatiei - in limba engleza	8	2+0+2	specialitate	optionala	

Titularii de disciplină	Conf. Dr. MOTOGNA Simona Claudia, motogna@cs.ubbcluj.ro	
Obiective	Familiarizarea cu mecanisme moderne de implementare a compilatoarelor, specifice diferitelor limbaje de programare, pentru a putea intelege functionarea lor si a putea implementa aceste tehnici.
	
Conţinutul	I. Sinteza codului intr-un compilator:
   I.1 Generare de cod intermediar
   I.2 Optimizarea codului
   I.3 Generare de cod obiect
II. Mecanisme de implementare a compilatoarelor dependente de limbaj
   II.1 Limbaje functionale si logice
   II.2 Limbaje imperative si orientate obiect
   II.3 Limbaje distribuite
III. Implementarea mecanismelor avansate intr-un compilator
   III.1 Masini virtuale
   III.2 Mecansimul de $garbage collection$
   III.3 Compilare dinamica
IV. Compilatoare pentru .NET
   IV.1 Principiile arhitecturii .NET
   IV.2 Schema executiei programelor in .NET
   IV.3 MSIL - reprezentarea intermediara in .NET
   IV.4 CLI - Common Language Infrastructure
	
Bibliografie	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	
Evaluare	Nota finala se bazeaza pe:
- proiect (practic) 30%
- referat (studiu de caz + sinteza a domeniului) 20%
- examen scris 50%
Pentru anul universitar 2009-2010, detalii
http://cs.ubbcluj.ro/~motogna/AdvancedCompilerDesign.html