MID1004 | Modele formale în limbajele de programare |
Titularii de disciplina |
Conf. Dr. MOTOGNA Simona Claudia, motognacs.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 2009-2010, 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 |