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 | ||||
URL to the subject page | http://ir4pp1.etf.rs/ | |||
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 | ||||
| ||||
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 | 30 | |||
Colloquia | 40 | |||
Seminars |