"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
Prof. KASA Zoltan, Ph.D.,  kasacs.ubbcluj.ro
Lect. LUPSA Dana,  davramcs.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. A.V. AHO, D.J. ULLMAN - Principles of computer design, Addison-Wesley, 1978.
2. A.V. AHO, D.J. ULLMAN - The theory of parsing, translation and compiling, Prentice-Hall, Engl. Cliffs., N.J., 1972, 1973.
3. D. GRIES - Compiler construction for digital computers,, John Wiley, New York, 1971.
4. SIPSER, M., Introduction to the theory of computation, PWS Pulb. Co., 1997.
5. G. MOLDOVAN, V. CIOBAN, M. LUPEA - Limbaje formale si automate. Culegere de probleme, Univ. Babes-Bolyai, Cluj-Napoca, 1996.,l http://math.ubbcluj.ro/~infodist/alf/INDEX.HTM
6. CSÖRNYEI ZOLTÁN, Bevezetés a fordítóprogramok elméletébe, I, II., ELTE, Budapest, 1996
7. L.D. SERBANATI - Limbaje de programare si compilatoare, Ed. Academiei RSR, 1987.
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.
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: 25% lab_mark + 25% seminar_mark + 50% exam_mark.