DM516: Compilerteori (5 ECTS)
STADS: 15003101
Niveau
Bachelorkursus
Undervisningsperiode
Kurset er placeret i forårssemesteret.
3. kvartal.
Ansvarlige undervisere
Email: kslarsen@imada.sdu.dk
Skemaoplysninger
Hold |
Type |
Dag |
Tidsrum |
Lokale |
Uger |
Kommentar |
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Mandag |
10-12 |
U27A |
05-11 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06, 08, 10 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
05-06 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
08 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
08 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
08 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
08 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
08 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
08 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
08 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
10 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
10 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
10 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
10 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
10 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
10 |
|
Fælles |
I |
Torsdag |
14-16 |
U144 |
10 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Tirsdag |
08-10 |
U10 |
05-11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07, 09, 11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
07 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
09 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
09 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
09 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
09 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
09 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
09 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
09 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
11 |
|
S1 |
TE |
Torsdag |
14-16 |
U144 |
11 |
|
Vis hele skemaet
Vis personligt skema for dette kursus.
Kommentar:
Ubegrænset deltagerantal. 3. kvartal.
Indgangskrav:
Ingen
Faglige forudsætninger:
Stoffet fra DM506 Maskinarkitektur, DM507 Algoritmer og datastrukturer samt DM517 Beregnelighed skal være kendt.
KursusintroduktionKursets formål er at give kendskab til begreber og teknikker, der er nødvendige for at implementere en moderne compiler for et højniveau imperativt programmeringssprog.
KompetencerDe studerende vil opnå detaljeret indsigt i begrebsverdenen og teknikkerne indenfor compiler-konstruktion og skal kunne anvende den opnåede viden i relevante sammenhænge til
• at konstruere scannere og parsere både med og uden brug af værktøjer og opbygge abstrakt syntakstræ
• at implementere symboltabeller og anvende disse til typecheck og andre semantiske check
• at generere assemblerkode udfra et abstrakt syntakstræ
• at foretage diverse former for kodeoptimering; bl.a. under anvendelse af liveness analyse
• at implementere garbage collection.
Forventet læringsudbytteVed kursets afslutning forventes den studerende at kunne:
• designe scannere og parsere udfra top-down såvel som bottom-up paradigmer både med og uden brug af værktøjer og kunne opbygge abstrakte syntakstræer i forbindelse hermed
• designe symboltabeller og gøre rede for, hvordan disse anvendes til typecheck og andre semantiske check
• gøre rede for, hvordan udførbar kode kan genereres udfra et abstrakt syntakstræ
• forklare om diverse former for kodeoptimering; herunder detaljeret omkring, hvordan liveness analyse kan anvendes til registerallokering
• gøre rede for funktionaliteten af de gennemgåede algoritmer til garbage collection
EmneoversigtScannere, parsere, oversættergenereringsværktøjer, abstrakte syntakstræer, symboltabeller, typecheck, kodegenerering, optimering, liveness analyse, registerallokering og garbage collection.
Litteratur- Meddeles ved kursets start. .
Kursets hjemmeside
Dette kursus benytter
e-learn (blackboard).
Forudsætningsprøver
Ingen
Eksamen- og censurform:
Mundtlig eksamen. Ekstern censur. Karakter efter 7-trinsskalaen.
Reeksamen efter 4. kvartal.
Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Forelæsninger (21 timer) og eksaminatorier/laboratorier (21 timer).
Aktiviteter i studiefasen
Sprog
Dette kursus undervises på dansk eller engelsk, afhængigt af underviseren. Dog altid på Engelsk ved deltagelse af internationale studerende.
Kursustilmelding
Se tilmeldingsfrister.
Pris for åben uddannelse
Se priser for enkeltkurser.
Dette er den nyeste version af en kursusbeskrivelse, som trådte i kraft den 1. feb 2009.