DM516: Compiler Construction (5 ECTS)

STADS: 15003101

Level
Bachelor course

Teaching period
The course is offered in the spring semester.
3rd quarter.

Teacher responsible
Email: kslarsen@imada.sdu.dk

Timetable
Group Type Day Time Classroom Weeks Comment
Common I Monday 10-12 U27A 05-11
Common I Monday 10-12 U27A 05-11
Common I Monday 10-12 U27A 05-11
Common I Monday 10-12 U27A 05-11
Common I Monday 10-12 U27A 05-11
Common I Monday 10-12 U27A 05-11
Common I Monday 10-12 U27A 05-11
Common I Monday 10-12 U27A 05-11
Common I Thursday 14-16 U144 05-06
Common I Thursday 14-16 U144 05-06
Common I Thursday 14-16 U144 05-06
Common I Thursday 14-16 U144 05-06, 08, 10
Common I Thursday 14-16 U144 05-06
Common I Thursday 14-16 U144 05-06
Common I Thursday 14-16 U144 05-06
Common I Thursday 14-16 U144 05-06
Common I Thursday 14-16 U144 08
Common I Thursday 14-16 U144 08
Common I Thursday 14-16 U144 08
Common I Thursday 14-16 U144 08
Common I Thursday 14-16 U144 08
Common I Thursday 14-16 U144 08
Common I Thursday 14-16 U144 08
Common I Thursday 14-16 U144 10
Common I Thursday 14-16 U144 10
Common I Thursday 14-16 U144 10
Common I Thursday 14-16 U144 10
Common I Thursday 14-16 U144 10
Common I Thursday 14-16 U144 10
Common I Thursday 14-16 U144 10
S1 TE Tuesday 08-10 U10 05-11
S1 TE Tuesday 08-10 U10 05-11
S1 TE Tuesday 08-10 U10 05-11
S1 TE Tuesday 08-10 U10 05-11
S1 TE Tuesday 08-10 U10 05-11
S1 TE Tuesday 08-10 U10 05-11
S1 TE Tuesday 08-10 U10 05-11
S1 TE Tuesday 08-10 U10 05-11
S1 TE Thursday 14-16 U144 07
S1 TE Thursday 14-16 U144 07, 09, 11
S1 TE Thursday 14-16 U144 07
S1 TE Thursday 14-16 U144 07
S1 TE Thursday 14-16 U144 07
S1 TE Thursday 14-16 U144 07
S1 TE Thursday 14-16 U144 07
S1 TE Thursday 14-16 U144 07
S1 TE Thursday 14-16 U144 09
S1 TE Thursday 14-16 U144 09
S1 TE Thursday 14-16 U144 09
S1 TE Thursday 14-16 U144 09
S1 TE Thursday 14-16 U144 09
S1 TE Thursday 14-16 U144 09
S1 TE Thursday 14-16 U144 09
S1 TE Thursday 14-16 U144 11
S1 TE Thursday 14-16 U144 11
S1 TE Thursday 14-16 U144 11
S1 TE Thursday 14-16 U144 11
S1 TE Thursday 14-16 U144 11
S1 TE Thursday 14-16 U144 11
S1 TE Thursday 14-16 U144 11
Show entire timetable
Show personal time table for this course.

Comment:
Ubegrænset deltagerantal. 3. kvartal.

Prerequisites:
None

Academic preconditions:
The content of DM506 Computer Architecture, DM507 Algorithms and Data Structures and DM517 Computability must be known.

Course introduction
The purpose of the course is to give the participants knowledge of concepts and techniques required to implement a modern compiler for a high level imperative programming language.

Expected learning outcome
At the end of the course, the participant is expected to be able to:

• design scanners and parsers using top-down as well as bottom-up paradigms, both with and without the use of tools, and build abstract syntax trees in connection with this
• design symbol tables and account for the use of these for typechecking and other semantic checks
• account for how executable code can be generated from an abstract syntax tree
• explain about various forms of code optimization, including detailed account of how liveness analysis can be used for register allocation
• account for the functionality of the forms of garbage collection presented in the course

Subject overview
Scanners, parsers, compiler generation tools, abstract syntax trees, symbol tables, typecheck, code generation, optimization, liveness analysis, register allocation, and garbage collection.

Literature
  • Meddeles ved kursets start. .


Website
This course uses e-learn (blackboard).

Prerequisites for participating in the exam
None

Assessment and marking:
Oral exam. External examiner. Danish 7 mark scale.
Reexamination after 4th quarter.

Expected working hours
The teaching method is based on three phase model.

Forelæsninger (21 timer) og eksaminatorier/laboratorier (21 timer).
Educational activities

Language
This course is taught in Danish or English, depending on the lecturer. However, if international students participate, the teaching language will always be English.

Course enrollment
See deadline of enrolment.

Tuition fees for single courses
See fees for single courses.