"Babes-Bolyai" University of Cluj-Napoca
Faculty of Mathematics and Computer Science

Formal languages and compiler design methods
Code
Semes-
ter
Hours: C+S+L
Credits
Type
Section
MI044
4
2+1+1
6
compulsory
Matematică-Informatică
MI044
4
2+0+2
6
compulsory
Matematici Aplicate
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.