Programming Language Technology
University of Gothenburg
Start date:
End date:
Pace of study: 50 %
Published education catalogue
Education information from the published source. The education record and its time-bound offerings are kept separate.
Code: DIT231
The aim of the course is to give understanding of how programming languages are designed, documented, and implemented. The course covers the basic techniques and tools needed to write interpreters, and gives a summary introduction to compilation as well. Those who have passed the course should be able to: Define the lexical structure of programming languages by using regular expressions, explain the functioning of finite automata, and implement lexical analysers by using standard tools. Define the syntax of programming languages by using context-free grammars, explain the principles of LL and LR parsing, and implement parsers by using standard tools. Define and implement abstract syntax. Master the technique of syntax-directed translation and its efficient implementation in their chosen programming language. Formulate typing rules and implement type checkers. Formulate operational semantic rules and implement interpreters. Write simple code generators.
The requirements for the course is to have successfully completed courses corresponding to 60 credits in the subject of Computer Science, including - 7\.5 credits in programming (for example DIT142 Functional programming, DIT952 Objektorienterad programmering and design, or equivalent); - 7\.5 credits in data structures (for example DIT960 Data structures, DIT725 Logic, algorithms and data structures or equivalent). Applicants must prove knowledge of English: English 6/English level 2 or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.
Each offering has its own dates and conditions. Closed offerings are retained as history and do not mean that a new application is open.
University of Gothenburg
Start date:
End date:
Pace of study: 50 %
Retrieved: .
Published: .
Publication version: 8e217193-f5fa-4778-b085-a4521fd03e8d
Checksum: 1b0dc54c0fc8a359f83ba9dc8f9d468479ce432de4c03bce3b8b33dd67fe3f6c
Last changed according to the source: 2026-02-17T15:13:04