KOI: Kursinnehåll och föreläsningsplan
"ALSU-07" är kursboken av Aho, Lam, Sethi och Ullman
("Lila drakboken" från 2007).
Bokens webbplats:
dragonbook.stanford.edu.
"ASU-86" är den tidgare kursboken av Aho, Sethi och Ullman
("Röda drakboken" från 1986).
"KP" är Kjell Posts bok med oh-bilder.
Den här sidan, och andra sidor på kursens webbplats,
innehåller en del referenser till texter
och andra resurser som handlar om kompilatorteknik,
men kursinnehållet består av:
- De avsnitt i ALSU-07 som anges i föreläsningsplanen nedan.
- Artikeln Grammatiker för datorspråk.
- Artikeln Grammatiktransformationer.
- Artikeln The Very Basics of Garbage Collection.
- Labbuppgifterna.
Alltså är Kjell Posts oh-bilder inte en del av kursinnehållet,
utan finns bara med som ett hjälpmedel.
Föreläsningsplan
Det är inte säkert att indelningen i föreläsningar
kommer att stämma med vad vi verkligen hinner med de olika gångerna.
-
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),
15 september 2010