Compilers and Interpreters

This is the home page for the course DT135G Compilers and Interpreters (in Swedish: Kompilatorer och interpretatorer) given by Örebro University in study period 1 (September-October) autumn semester 2022. These web pages contain lab instructions and some other texts. There is also a page in Blackboard, where news and notifications will be published.

The course is given in English. (Some words or sections may be left from older Swedish versions, and some may be badly translated.)

Quick links: Lectures 1 2 3 4 5 6 7 8 9 10 11 12 | Exercises: 1 2 3 4 5 6 7 8 9 10 | Assignments 0 1 2 3 4 5 6 (7)

General information about the course

News

News are published as announcements ("anslag") in Blackboard, and Blackboard will also send them to you as e-mail. Check that you have a working e-mail address!

Lectures from 2022 on YouTube, in English

The lectures from 2022 are being recorded and collected in the YouTube playlist Compilers and Interpreters 2022. These video lectures are in English.

Nr Content Video
1 Compilers - what, how and why? The Basics of Compilers: Compilers, Interpreters and Phases
2 Syntax and grammars Compilers, Languages and Grammars
3 Syntactic analysis ("parsing"). A very simple compiler. Top-Down Parsers
4 More about syntactic analys. Bottom-up parsing. Parser-generators. Bottom-Up Parsers
5 Yacc/Bison Yacc/Bison
6 Lexical analysis ("scanning"). Lex/Flex. Regular expressions. Lex/Flex (new version)
7 Syntax-directed translation. Building syntax trees. Constructing Syntax Trees
8 Run-time-omgivningar. Skräpsamling. The Run-Time Environment
9 Executing the syntax tree. Stack machines. Interpreters
10 The Semantic Phase. Type Systems. Type Checking. The Semantic Phase and Type Systems
11 Machine-Independent Optimization. Intermediate Code. Treadresskod. Three-Address Code. Optimization and Intermediate Code
12 More About Optimization. The Code Generator. More About Optimization

Lectures from 2019 on YouTube, in Swedish

The lectures from 2019 have been recorded and collected in the YouTube playlist Kompilatorer och interpretatorer 2019. These video lectures are in Swedish.

Nr Content Video
1 Kompilatorer - vad, hur och varför? del 1, del 2
2 Syntax och grammatiker del 1, del 2
3 Syntaktisk analys ("parsning"). En mycket enkel kompilator. del 1, del 2
4 Mer om syntaktisk analys. Bottom-up parsing. Parser-generatorer. del 1, del 2
5 Yacc och Bison del 1, del 2
6 Lexikalisk analys ("scanning"). Lex och Flex. Reguljära uttryck. del 1, del 2
7 Syntax-styrd översättning. Att bygga syntax-träd. del 1, del 2
8 Run-time-omgivningar. Skräpsamling. del 1, del 2
9 Att exekvera syntaxträdet. Stackmaskiner. del 1, del 2
10 Typsystem och typkontroll del 1, del 2
11 Intermediärkod och optimering del 1, del 2
12 Forts. optimering; Kodgenerering del 1, del 2

Additional material

Literature


Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se), September 5, 2023

Valid HTML 4.01! Viewable With Any Browser