course-details-portlet

TDT4205

Compiler Construction

Choose study year
Credits 7.5
Level Third-year courses, level III
Course start Spring 2025
Duration 1 semester
Language of instruction English
Location Trondheim
Examination arrangement Aggregate score

About

About the course

Course content

Compilers are a prerequisite for constructing modern software. Compiler construction is a field of computer technology that early reached maturity, with a sound theoretical basis. Elements of this technology are employed in most areas where one does a thorough analysis of texts on a computer. The course discusses grammars, lexical and syntactic analysis, semantic analysis, optimizations, code generation, interpreters and abstract machines, linkers and run time systems. The concrete structure of a compiler that generates code for a real computer is studied in some detail.

Learning outcome

Knowledge: To give a thorough knowledge of techniques for the construction of compilers (programming language translators) and some insight in how to build systems software, more generally. Abilities: Develop a thorough understanding of how modern compilers work.

Learning methods and activities

Lectures and exercises.

Further on evaluation

If there is a re-sit examination, the examination form may change from written to oral.

For improving the grade in the subject the students can choose to retake only the exam or the whole subject.

Course materials

Will be specified at the start of the course.

A primary textbook will be recommended, and additional textbooks will be suggested to cover the same topics under a different narrative. Additional material will be presented by the lecturer.

Credit reductions

Course code Reduction From
SIF8045 7.5 sp
This course has academic overlap with the course in the table above. If you take overlapping courses, you will receive a credit reduction in the course where you have the lowest grade. If the grades are the same, the reduction will be applied to the course completed most recently.

Subject areas

  • Informatics
  • Technological subjects

Contact information

Course coordinator

Department with academic responsibility

Department of Computer Science