KOI: Course content and plan for the lectures
"ALSU-07" is the textbook by Aho, Lam, Sethi and Ullman
(the "purple dragon book" from 2007).
The book has a web site:
dragonbook.stanford.edu
"ASU-86" is the older edition of the same book, by Aho, Sethi and Ullman
(the "red dragon book" from 1986)
This page, and other pages on the course web,
contain some references to texts and other resources about compiler technology,
but the content of the course consists of:
- The sections from ALSU-07 that are written below
- The summary Grammatiker för datorspråk
(also available in English:
Grammars for computer languages)
- The summary Grammatiktransformationer
(also available in English:
Grammar Transformations)
- The summary The Very Basics of Garbage Collection (only in English)
- Lab assignments
Plan for the lectures
When lectures are given live, some adjustments may occur.
-
Compilers - what, how and why?
-
ALSU-07 chapter 1
-
(Old book: ASU-86 chapter 1)
-
Syntax and grammars
-
Syntactic analysis ("parsing"). A very simple compiler.
-
More about syntactic analys. Bottom-up parsing. Parser-generators.
-
Yacc and Bison
-
Lexical analysis ("scanning"). Lex and Flex. Regular expressions.
-
ALSU-07 section 2.6, 3.1, 3.3, parts of 3.4, 3.5, the basics of 3.6
-
Lex-delarna i A Compact Guide to Lex & Yacc
-
(Old book: ASU-86 3.1-3.5, parts of 3.6.)
-
Syntax-directed translation. Building syntax trees.
-
ALSU-07 section 5.1 och 5.3
-
ALSU-07 section 6.1
-
(Old book: ASU-86 5.1-5.2.)
-
Run-time environments
-
Executing the syntax tree. Stack machines.
-
ALSU-07 section 8.1.2
-
(Old book: ASU-86 2.8.)
-
Type systems och type checking
-
ALSU-07 section 6.3 och 6.5
-
(Old book: ASU-86 6.1-6.2)
-
Intermediate code and optimization
- ALSU-07 section 6.1, 6.2, 6.4, 6.6
- ALSU-07 section 8.4, 8.5, 9.1
- ALSU-07 section 12.1-12.2 (not in depth)
- (Old book: ASU-86 section 8.1-8.3, 9.4, chapter 10)
-
Code generation
- ALSU-07 section 8.1-8.3 (not in depth)
- (Old book: ASU-86 9.1-9.4, 9.12)
-
Not a lecture:
Some exercises as a review
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
September 13, 2022