TDDB44 · 6 credits · Advanced level (A1X) · Informationsteknologi, Datateknik, Datavetenskap
Compiler Construction
Discontinued · replaced by TDDE66
No exam statistics yet
There is no exam sitting with at least 5 students in the last three academic years. New courses and project-only courses often have no statistics.
Part of 6 programmes
- Master of Science in Computer Science and Engineering
- Master of Science in Industrial Engineering and Management - International
- Master of Science in Industrial Engineering and Management
- Master of Science in Information Technology
- Master of Science in Computer Science and Software Engineering
- Master's Programme in Computer Science
About the course
Aim
The aim of this course is to give a comprehensive introduction to the theoretical and practical issues underlying the design and implementation of compilers. After the completion of the course you should be able to:
- explain and apply fundamental principles and techniques of compiler design
- explain and use methods for lexical analysis, top-down and bottom-up parsing
- explain and use methods for semantic analysis, syntax-directed translation, code optimization
- explain methods and theory for construction of lexer and parser generators, code generator generators
- explain methods for generation and optimization of code for RISC-based architectures
- construct and implement a top-down parser and a bottom-up parser for a given context-free grammar
- use lexer and parser generators to build a lexical analyzer and a parser for a real compiler
- explain and use methods for machine code generation
- design and implement a complete compiler including: lexer, parser, memory management, semantic analysis, optimization, and machine code generation
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.
- Examiner
- Adrian Pop
- Scheduled hours
- 48 h
- Main field of study
- Informationsteknologi, Datateknik, Datavetenskap