TDDA43 Programming Theory, 6 ECTS-points
/Programmeringsteori/

Advancement level:
C

Aim:
The course offers a wide-ranging introduction to the techniques and metalanguages for the formal specification of programming languages. There is a separation between syntax and semantics of a language, and the techniques suitable for description of each. Additionally three user groups who have different requirements on a metalanguage are identified. The course will examine how various techniques fulfill the requirements of the user groups.

Prerequisites:
Knowledge of predicate logik and simple theory proving, equivalent to TDDB90 or TATM90 Discrete Mathematics and Logic and TDDA 69 Data and Program Structures.

Supplementary courses:
TDDA 37 Compiler Construction, TDDB 42 Semantics of Programming Languages, TDDA 41 Logic Programming.

Course organization:
The theory is presented during lectures and seminars. The seminars also prepare for laboratory work.

Course content:
Variations of BNF, attribute grammars, two-level grammars operational semantics, denotational semantics, and axiomatic semantics.

Course literature:
Textbook is not yet decided. Compendium.

LAB1, 1,5 p.
UPG1Hand-in assignments, 2,5 p.
Course language is swedish.