The aim of the course is to give understanding of how programming languages are designed, documented, and implemented.
course covers the basic techniques and tools needed to write
interpreters, and gives a summary introduction to compilation as well.
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
Behörigheter och urval
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). English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.
Högskolepoäng, max 165 hp.