DM546: Compiler Construction

The Study Board for Science

Teaching language: Danish or English depending on the teacher, but English if international students are enrolled
EKA: N330034102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Autumn
Level: Bachelor

STADS ID (UVA): N330034101
ECTS value: 5

Date of Approval: 07-04-2025


Duration: 1 semester

Version: Approved - active

Comment

Offered autumn 2024

Entry requirements

None

Academic preconditions

The student is expected to have knowledge of the material in DM548 Computer architecture and system programming and DM578 Algorithms and data structures.

Course introduction

The purpose of the course is to introduce the concepts and techniques
necessary for implementing a modern compiler for a high-level imperative
programming language.

Expected learning outcome

The learning objective of the course is that the student demonstrates the ability to:

  • design and implement  scanners and parsers and build abstract syntax trees in
    connection with this.
  • design symbol tables and account for how these are used for type checking and other semantic checks.
  • account for how executable code can be generated from an abstract syntax tree.
  • explain
    miscellaneous forms of optimization.

Content

The following main topics are contained in the course:
Scanners, parsers, compiler generation tools, abstract syntax trees, symbol tables, semantic analysis, code generation, optimization.

Literature

See itslearning for syllabus lists and additional literature references.

Examination regulations

Exam element a)

Timing

Autumn and January

Tests

Portfolio

EKA

N330034102

Assessment

Second examiner: Internal

Grading

7-point grading scale

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Duration

Oral exam - 30 minutes

Examination aids

Assignments - All common aids allowed
Mundtlig eksamen - No aids allowed

ECTS value

5

Additional information

Portfolio consisting of the following elements:
  1.  A number of written assignments handed in during the semester. 
  2.  An oral exam.
To pass the portfolio, both Element 1 and 2 must individually meet the learning objectives.
Element A contributes 30% to the final grade, and element B contributes 70%. However, an overall assessment is applied.

The re-exam is the same as the regular one. Submitted elements to the ordinary portfolio can be included in the re-exam.

Indicative number of lessons

42 hours per semester

Teaching Method

Planned lessons:

Total number of planned lessons: 42 

Hereof: 

Common lessons in classroom/auditorium: 42

The hours consists of a combination of classical lectures, where the terms and methods of the course are presented, and more applied sessions, where students are taught how the learned knowledge can be applied in concrete scenarios.

Other planned teaching activities: 

Consists of reading written material suggested by the lecturer and implementing the assignments.

Teacher responsible

Name E-mail Department
Sandra Greiner greiner@imada.sdu.dk Institut for Matematik og Datalogi

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.