Course syllabus adopted 2019-02-08 by Head of Programme (or corresponding).
Overview
- Swedish nameKompilatorkonstruktion
- CodeTDA283
- Credits7.5 Credits
- OwnerMPALG
- Education cycleSecond-cycle
- Main field of studyComputer Science and Engineering, Software Engineering
- DepartmentCOMPUTER SCIENCE AND ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language English
- Application code 02112
- Open for exchange studentsYes
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0114 Project 7.5 c Grading: TH | 7.5 c |
In programmes
- MPALG - COMPUTER SCIENCE - ALGORITHMS, LANGUAGES AND LOGIC, MSC PROGR, Year 1 (compulsory elective)
- MPCSN - COMPUTER SYSTEMS AND NETWORKS, MSC PROGR, Year 1 (elective)
- MPEES - EMBEDDED ELECTRONIC SYSTEM DESIGN, MSC PROGR, Year 1 (elective)
- MPHPC - HIGH-PERFORMANCE COMPUTER SYSTEMS, MSC PROGR, Year 1 (elective)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (elective)
Examiner
- Magnus Myreen
- Head of Unit, Computing Science, Computer Science and Engineering
Eligibility
General entry requirements for Master's level (second cycle)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Specific entry requirements
English 6 (or by other approved means with the equivalent proficiency level)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Course specific prerequisites
The requirement for the course is to have successfully completed two years of studies within Computer Science or equivalent. Specifically, the course DAT151 Programming Languages or equivalent is required.Aim
The aim of the course is to develop an understanding of the whole process of compiler construction, starting from lexical analysis and finishing with machine code generation. As the course laboration, the students build a complete compiler for a simple imperative language.Learning outcomes (after completion of the course the student should be able to)
- know the basic principles of run-time organization, parameter passing, and memory management, and implement them as a part of the compiler;
- design and implement compilation schemes that generate intermediate or assembly code from a source program;
- use data flow analysis to implement register allocation and code optimizations;
- design and implement extensions of a simple imperative language, and know the main issues of compiling object-oriented languages.