IR4PP1 - Compiler Construction 1

Course specification
Course title Compiler Construction 1
Acronym IR4PP1
Study programme Electrical Engineering and Computing
Module Computer Engineering and Informatics
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 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).
      1. Modern Compiler Implementation in Java 2nd Ed, A. W. Appel, Cambridge University Press, 2002 (Original title)
      2. Compilers/Principles, Techniques and Tools, 2ed, A. Aho, M. Lam, R. Sethi, J. Ullman, 2006. (Original title)
      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 60
      Practical lessons 0 Oral examination 0
      Projects 40
      Seminars 0