Search programme

​Use the search function to search amongst programmes at Chalmers. The study programme and the study programme syllabus relating to your studies are generally from the academic year you began your studies.

Syllabus for

Academic year
TDA283 - Compiler construction
Kompilatorkonstruktion
 
Syllabus adopted 2021-02-26 by Head of Programme (or corresponding)
Owner: MPALG
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: Second-cycle
Major subject: Computer Science and Engineering, Software Engineering
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: English
Application code: 02123
Open for exchange students: Yes

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0114 Project 7,5c Grading: TH   7,5c    

In programs

MPEES EMBEDDED ELECTRONIC SYSTEM DESIGN, MSC PROGR, Year 1 (elective)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (elective)
MPHPC HIGH-PERFORMANCE COMPUTER SYSTEMS, MSC PROGR, Year 1 (elective)
MPALG COMPUTER SCIENCE - ALGORITHMS, LANGUAGES AND LOGIC, MSC PROGR, Year 1 (compulsory elective)
MPCSN COMPUTER SYSTEMS AND NETWORKS, MSC PROGR, Year 1 (elective)

Examiner:

Magnus Myreen


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.

Content

Theory and implementation of compilers, with an emphasis on the backend phases of code generation runtime environments.

Organisation

The teaching consists of lectures and a project, as well as individual supervision in connection with the project. The project is the central part; it involves implementing a complete compiler for a small imperative programming language. The lectures provide knowledge that is needed in the laboration, as well as an overview of the theoretical foundations and possible extensions of the compiler.

Literature

See separate literature list.

Examination including compulsory elements

Compiler project and oral presentation. Grading scale F, 3, 4, 5.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.


Page manager Published: Mon 28 Nov 2016.