Kompilatorer och interpretatorer
Det här är hemsidan för kursen
Kompilatorer och interpretatorer
(på engelska: Compilers and Interpreters)
som ges i läsperiod 1 (september-oktober) hösten 2012.
Länkar till tidigare kurstillfällen finns
här.
Snabblänkar:
Föreläsningar
1
2
3
4
5
6
7
8
9
10
11
12
|
Labbar
1
2
3
4
5
6
(7)
Allmän information om kursen
Nyheter
-
19 augusti 2013:
Tentan från idag
-
22 december 2012:
Kursutvärdering från universitetets kursvärderingssystem EvaSys.
-
8 december 2012:
Tentan från idag
-
5 november 2012:
Tentan från idag
med
lösningsförslag
-
5 november 2012:
En
tenta
enligt den gamla kursplanen, med kurskod DT3004
(utan lösningar)
-
22 oktober 2012:
Instuderingsfrågor
inför tentan.
-
10 oktober 2012:
Nya bokade tiderna:
- Föreläsning måndag 15 oktober kl 13-15 i T215 (obs lokalen!)
- Labb tisdag 16 oktober kl 13-17 i T117 som vanligt
(Om man tittar på schemat så verkar lokalen på måndagen ha blivit
bokad till klockan 17, men föreläsningen är bara till 15.)
-
2 oktober 2012:
Jag mår bara halvbra, och kommer inte att vara på labbtiden idag.
Men jag kommer att sitta på mitt rum, så om ni har frågor, eller
bara vill bli smittade i alla fall, är ni välkomna att komma dit.
-
26 september 2012:
Jag är sjuk, och föreläsningen i kompilatorkursen idag (onsdag)
är inställd.
-
18 september 2012:
Jag är sjuk och kommer inte till universitetet idag (tisdag) på
labbtiden. Föreläsningen i morgon (onsdag) är inställd.
-
29 augusti 2012:
Första föreläsningen ges på måndag (3 september) i T219 klockan 13:15. Välkomna!
Videofilmade föreläsningar från 2012 på YouTube
Nr | Innehåll | 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,
del 3
|
12 |
Kodgenerering |
film
|
Övrigt kursmaterial
-
Sidan med
kursinnehållet
innehåller länkar till föreläsningsanteckningar
och till det kursmaterial som finns på webben.
-
Labbinstruktioner.
Labbinstruktionerna är skrivna för Windows och Visual Studio,
men är man van vid Linux eller Unix är det minst lika enkelt att göra dem där.
-
Några
texter
om kompilatorteknik.
-
Källkoden
till programmet i avsnitt 2.5 i (gamla) kursboken.
-
Källkoden
till den mycket enkla kompilatorn i avsnitt 2.9 i (gamla) kursboken.
-
Gamla tentor enligt den nya kursplanen (kurskod DT3030):
-
Gamla tentor enligt den gamla kursplanen (kurskod DT3004):
-
Varför kallas kompilatorer för "kompilatorer"?
Kurslitteratur
-
Kursbok:
Aho, Lam, Sethi, Ullman:
Compilers: Principles, Techniques, and Tools,
Second Edition,
Addison Wesley, 2007.
(Ja, det har kommit en ny upplaga, så det är inte den gamla från 1986.)
Paperback:
ISBN-10 0321491696
ISBN-13 978-0321491695.
Hardcover:
ISBN-10 0321486811
ISBN-13 978-0321486813.
Bokens webbplats:
dragonbook.stanford.edu.
[Länk till paperback-upplagan på Amazon.co.uk]
Thomas Padron-McCarthy
(Thomas.Padron-McCarthy@oru.se),
19 augusti 2013