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's 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)
"KP" is Kjell Post's book with slides
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
The slides by Kjell Post are not part of the course content,
but are provided for assistance.
Plan for the lectures
When lectures are given live, some adjustments may occur.
-
Kompilatorer - vad, hur och varför?
-
ALSU-07 kapitel 1
-
(Gamla boken: ASU-86 kapitel 1)
-
(KP kapitel 1)
-
Syntax och grammatiker
-
Syntaktisk analys ("parsning"). En mycket enkel kompilator.
-
ALSU-07 avsnitt 2.4-2.5
-
Källkod:
Program 2.5,
Program 2.9.
-
(Gamla boken: ASU-86 2.4-2.5, 2.9)
-
(Början på KP kapitel 3)
-
Mer om syntaktisk analys. Bottom-up parsing. Parser-generatorer.
-
Grammatiktransformationer
-
ALSU-07 avsnitt 4.1-4.3, delar av 4.4, delar av 4.8
-
(Gamla boken: ASU-86 4.1-4.2, delar av 4.3-4.4, delar av 4.8)
-
(Resten av KP kapitel 3.)
-
Yacc.
-
Lexikalisk analys ("scanning"). Lex. Reguljära uttryck.
-
ALSU-07 avsnitt 2.6, 3.1, 3.3, delar av 3.4, 3.5, grunderna i 3.6
-
Lex-delarna i A Compact Guide to Lex & Yacc
-
(Gamla boken: ASU-86 3.1-3.5, delar av 3.6.)
-
(KP kapitel 2)
-
Syntax-styrd översättning. Att bygga syntax-träd.
-
ALSU-07 avsnitt 5.1 och 5.3
-
ALSU-07 avsnitt 6.1
-
(Gamla boken: ASU-86 5.1-5.2.)
-
Run-time-omgivningar
-
Att exekvera syntaxträdet. Stackmaskiner.
-
ALSU-07 avsnitt 8.1.2
-
(Gamla boken: ASU-86 2.8.)
-
(KP kapitel 5)
-
Typsystem och typkontroll
-
ALSU-07 avsnitt 6.3 och 6.5
-
(Gamla boken: ASU-86 6.1-6.2)
-
Intermediärkod och optimering
- ALSU-07 avsnitt 6.1, 6.2, 6.4, 6.6
- ALSU-07 avsnitt 8.4, 8.5, 9.1
- ALSU-07 avsnitt 12.1-12.2 (översiktligt)
- (Gamla boken: ASU-86 avsnitt 8.1-8.3, 9.4, kapitel 10)
- (KP kapitel 5 och 6)
-
Kodgenerering
- ALSU-07 avsnitt 8.1-8.3 (översiktligt)
- (Gamla boken: ASU-86 9.1-9.4, 9.12)
- (KP kapitel 7)
-
Inte en föreläsning:
Några övningsuppgifter som repetition
Thomas Padron-McCarthy
(Thomas.Padron-McCarthy@oru.se),
October 15, 2021