Limbaje formale şi tehnici de compilare | Formal languages and compiler design methods |
trul |
|||||
(Mathematics-Computer Science) |
Cadre didactice indrumatoare | Teaching Staff in Charge |
Lect. Dr. MOTOGNA Simona Claudia, motogna@cs.ubbcluj.ro Lect. ROBU Judit, robu@cs.ubbcluj.ro |
Obiective | Aims |
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. |
Grammars and languages; Chomsky hierarchy; regular grammars, finite automata and the equivalence between them; context-free grammars, push-down automata and their equivalence.
Compiler construction fundamentals: compiling phases, scanning, persing and code generation. |
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. |
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 | Assessment |
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. |
The final grade will reflect the seminar and lab activity and the knowledge obtained by the students.
The final mark will be compute from: 20% lab_mark + 20% seminar_mark + 60% exam_mark. The seminar_mark will be establish from the weekly homeworks. |