Formal languages and compiler design methods |
ter |
|||||
Teaching Staff in Charge |
Lect. MOTOGNA Simona Claudia, Ph.D., motogna@cs.ubbcluj.ro Lect. ROBU Judit, Ph.D., robu@cs.ubbcluj.ro |
Aims |
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. |
Content |
The purpose of the course is to study the fudamentals of formal languages: grammars (hierarchy, regular grammars, context-free grammars and their properties), finite automata (deterministic, non-deterministic, transformation, properties), push-down automata and the equivalance between grammars and automata.
The second part of the course is dedicated to compiler construction: compiler phases, scanning, parsing, generating intermediary code , optimizing code, generating object code. |
References |
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. |
Assessment |
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. |