Disciplina: Proiectare avansata de compilatoare	Cod: MI366	

Semestrul	Ore: C+S+L	Tipul	Specializarea	
1	2+2+0	obligatorie	Programare bazata pe componente - în limba engleza	

Cadre didactice indrumatoare	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	
Continut	I. Mecanisme de implementare a compilatoarelor dependente de limbaj
   I.1 Limbaje functionale si logice
   I.2 Limbaje imperative si orientate obiect
   I.3 Limbaje distribuite
II. Implementarea mecanismelor avansate intr-un compilator
   II.1 Masini virtuale
   II.2 Mecansimul de "garbage collection"
   II.3 Compilare dinamica
III. Compilatoare pentru .NET
   III.1 Principiile arhitecturii .NET
   III.2 Schema executiei programelor in .NET
   III.3 MSIL - reprezentarea intermediara in .NET
   III.4 CLI - Common Language Infrastructur	
Bibliografie selectiva	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	
Evaluare	Nota finala se bazeaza pe:
- proiect (practic) 30%
- referat (studiu de caz + sinteza a domeniului) 20%
- examen scris 50