Limbaje formale şi tehnici de compilare |
trul |
|||||
Cadre didactice indrumatoare |
Lect. Dr. MOTOGNA Simona Claudia, motogna@cs.ubbcluj.ro Lect. Dr. ROBU Judit, robu@cs.ubbcluj.ro |
Obiective |
Gramatici si limbaje; clasificarea lui Chomsky; gramatici regulare, automate finite si echivalenta lor; gramatici independente de context, automate push-down si echivalenta lor.
Notiuni de costructia compilatoarelor: fazele compilarii, analiza lexicala, analiza sintactica, analiza semantica. |
Continut |
Cursul urmareste prezentarea notiunilor fundamentale legate de limbaje formale: gramatici (clasificare, gramatici regulare, gramatici independente de context si proprietatile lor), automate finite (deterministe, nedeterministe, transformari, proprietati) si push-down si echivalenta dintre gramatici si automate.
Partea a doua a cursului va contine principalele aspecte legate de constructia compilatoarelor: analiza lexicala, analiza sintactica (diverse metode de analiza sintactica), generare de cod intermediar, optimizare de cod, generare de cod obiect. |
Bibliografie |
1. L.D. Serbanati - Limbaje de programare si compilatoare, Ed. Academiei RSR, 1987.
2. A.V. Aho, D.J. Ullman - Principles of computer design, Addison-Wesley, 1978. 3. A.V. Aho, D.J. Ullman - The theory of parsing, translation and compiling, Prentice-Hall, Engl. Cliffs., N.J., 1972, 1973. 4. D. Gries - Compiler construction for digital computers,, John Wiley, New York, 1971. 5. G. Moldovan, V. Cioban, M. Lupea - Limbaje formale si automate. Culegere de probleme, Univ. Babes-Bolyai, Cluj-Napoca, 1996. 6. Cioban, V., Lupea, M., Moldovan, G., Limbaje formale si automate. Culegere de probleme, http://math.ubbcluj.ro/~infodist/alf/INDEX.HTM 7. Csörnyei Zoltán, Bevezetés a fordítóprogramok elméletébe, I, II., ELTE, Budapest, 1996 8. Csörnyei Zoltán, Fordítási algoritmusok, Erdélyi Tankönyvtanács, Kolozsvár, 2000. 9. Demetrovics János-Denev, J.-Pavlov, R., A számítástudomány matematikai alapjai, Nemzeti Tankönyvkiadó, Budapest, 1999. 10. Sipser, M., Introduction to the theory of computation, PWS Pulb. Co., 1997. |
Evaluare |
Nota finala obtinuta la aceasta disciplina va reflecta atat activitatea la seminar si la laborator cat si cunsotiintele acumulate de studenti.
Nota finala se calculeaza astfel: 20% nota_laborator + 20% nota_seminar + 60% nota_examen. Nota la seminar se va stabile pe baza temelor saptamanale pe care studentii le vor primi. |