TDDB44 | Compiler Construction, 5,3 ECTS-points /Kompilatorkonstruktion/ Advancement level: D | |
Aim: The course aims to teach the principles of compiler construction and administration of run-time storage, and how to use modern compiler construction tools. Prerequisites: TDDB 57 Data Structures and Algorithms and TDDA 89 Formal Languages and Automata Theory. Course organization: The theory is presented in the lectures. The seminars prepare for the laboratory assignments, where a complete compiler for a small Pascal-like language is implemented. Course content: Different types of translators such as compilers and preprocessors. Methods for lexical analysis and syntax analysis. Management of declarations. Different types of internal representations. Memory management and run-time organization. Code generation and code optimization, especially with regards to RISC processors. Methods for handling errors. Compiler construction and compiler generation tools. Language design. A complete compiler for a Pascal-like language is constructed during the laboratory sessions. Certain modules of this compiler will be automatically generated using compiler generation tools, whereas other parts will be implemented by hand in C++. Course literature: Aho, A.V., Sethi, R., Ullman, J.D., Compiler Principles, Techniques and Tools, Addison-Wesley, Publ Co 1986. Laboratory material. | ||
TEN1 | Written examination, 2 p. | |
LAB1 | Labratory work, 2 p. |