Navigation

13S114PP1 - Compiler Construction 1

Course specification
Course title Compiler Construction 1
Acronym 13S114PP1
Study programme Software Engineering
Module
Type of study bachelor academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status mandatory
Condition Passed exams: Object-oriented programming 1, Algorithms and data structures, Computer architecture
The goal The goal of this course is to introduce students to the basic concepts of the theory of formal languages​​, the basic techniques of constructing language processors, compilers and interpreters, and training students to use the standard tools for the compiler construction.
The outcome It is expected that the student be able to: Demonstrate understanding, critical analysis and application of existing theories, models and techniques in the field of construction of software translators. To be able to formally describe the language syntax and to be able to use standard tools to build simple language processors and translators.
Contents
Contents of lectures Introduction, lexical analysis, microJava case study, syntax analysis, concepts and techniques of parsing, using parser generators, syntax directed translation, symbol tables, oo constructs, executable environment, code generation for virtual (microjava) and physical (x86) processor, simple code generator.
Contents of exercises Laboratory exercises illustrating some of the concepts and techniques discussed in class. Students projects - implementation of the compiler (lexical analyzer, parser, code generator for microJava).
Literature
  1. Modern Compiler Implementation in Java 2nd Ed, A. W. Appel, Cambridge University Press, 2002
  2. Compilers/Principles, Techniques and Tools, 2ed, A. Aho, M. Lam, R. Sethi, J. Ullman, 2006.
  3. A Collection of solved problems in compilers, D. Velasević, D. Bojić, Akademska misao, 2001.
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures, exercises, laboratory exercises, individual work on the project
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 30
Practical lessons 0 Oral examination 0
Projects
Colloquia 40
Seminars 30