| MID1004 | Modele formale în limbajele de programare | 
| Titularii de disciplina | 
| Conf. Dr. MOTOGNA Simona Claudia,  motogna  cs.ubbcluj.ro | 
| Obiective | 
| Familiarizarea studentilor cu ideile fundamentale relative la analiza si proiectarea limbajelor de programare moderne. Prima parte prezinta studiul diferitelor modele de specificare a limbajelor de programare, analiza semantica - faza a constructiei unui compilator, semantcia operationala pentru a specifica modul de calcul dintr-un program si semantica denotationala pentru a specifica ce calculeaza programul. La sfarsitul cursului, studentii vor avea urmatoarele abilitati: - sa explice diferenta dintre o semantica informala si una formala si intre diferitele modele: operational, denotational, axiomatic; - sa inteleaga un model formal pentru un limbaj de programare, sa il poate interpreta si sa poata prezice modul de comporatrea al definitiei semantice; - sa poata efectua demonstratii a unor proprietati simple pentru un limbaj sau un program, pe baza modelului formal. | 
| Continutul | 
| Cursul va fi structurat pe 3 parti, incepand cu o introducere in metode formale pentru specificarea limbajelor de programare. Va consta din: specificarea formala a constructiilor sintactice intr-un compilator, model operational si denotational pentru un limbaj de programare. Cursul va prezenta treptat modele pentru constructiile de limbaj: tipuri, expresii, instructiuni, functii, subtipizare si pentru diferite tipuri de limbaje: imperative, functionale, logice, orientate obiect. Pentru diferite modele se va discuta si echivalenta semantica. | 
| Bibliografie | 
| 1. BAUER, F.L. - WOSSNER, H.: Algorithmic language and program development, Springer-Verlag, Berlin,1982. 2. GRUNE, DICK - BAL, H. - JACOBS, C. - LANGENDOEN, K.: Modern Compiler Design, John Wiley, 2000 3. GUNTER, C. – Semantics of programming languages, MIT Press, 1992 4. Hennessy, M. - The Semantics of Programming Languages. Wiley, 1990 5. MOTOGNA, S. – Metode de proiectare a compilatoarelor, Ed. Albastra, 2006 6. Schmidt,D.A. - Denotational semantics: a methodology for language development, William C. Brown, 1986. 7.Winskel,G. - The Formal Semantics of Programming Languages: an introduction, MIT Press, 1993 | 
| Evaluare | 
| Evaluarea va lua in calcul: - referate din bibliografie suplimentara prezentate public in timpul orelor de seminar. - proiect care va implementa unul din modelele prezentate la curs pentru un mini-limbaj. Nota finala se va calcula astfel: - seminar 30% - proiect 40% - examen final 40% Pentru anul universitar 2008-2009, detalii la http://cs.ubbcluj.ro/~motogna/FormalModels.html | 
| Legaturi: | Syllabus-urile tuturor disciplinelor Versiunea in limba engleza a acestei discipline Versiunea in format rtf a acestei discipline |