DM546: Oversætterkonstruktion (5 ECTS)
STADS: 15012401
Niveau
Bachelorkursus
Undervisningsperiode
Kurset er placeret i forårssemesteret.
Ansvarlige undervisere
Email: kslarsen@imada.sdu.dk
Skemaoplysninger
Hold |
Type |
Dag |
Tidsrum |
Lokale |
Uger |
Kommentar |
Fælles |
I |
Tirsdag |
08-10 |
U154 |
6-10 |
|
Fælles |
I |
Tirsdag |
08-09 |
U154 |
11 |
|
Fælles |
I |
Onsdag |
10-12 |
U154 |
5 |
|
Fælles |
I |
Torsdag |
10-12 |
U154 |
5-7,10 |
|
Fælles |
I |
Torsdag |
07-20 |
IMADA semi |
13 |
|
Fælles |
I |
Fredag |
07-20 |
IMADA semi |
13 |
|
H1 |
TL |
Tirsdag |
12-14 |
IMADA ComputerLab |
8 |
|
H1 |
TE |
Onsdag |
10-12 |
U154 |
6-7,9-11 |
|
H1 |
TE |
Torsdag |
14-15 |
U154 |
5 |
|
H1 |
TL |
Torsdag |
12-14 |
IMADA ComputerLab |
8 |
|
H1 |
TE |
Fredag |
12-14 |
U154 |
6,9-10 |
|
Vis hele skemaet
Vis personligt skema for dette kursus.
Kommentar:
Ubegrænset deltagerantal.
Indgangskrav:
Ingen
Faglige forudsætninger:
Den studerende forventes at have kendskab til stoffet fra DM548 Computerarkitektur og systemprogrammering samt DM507 Algoritmer og datastrukturer. DM553 Kompleksitet og beregnelighed forventes fulgt senest samtidigt med kurset.
FormålKursets 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.
Kurset bygger på færdigheder opnået i specielt DM546 Oversætterkonstruktion og giver kompetencer til bachelorskrivning indenfor området.
I forhold til uddannelsens kompetenceprofil har kurset fokus på:
- et solidt kendskab til metoderne fra fagets centrale discipliner, på et niveau så de selvstændigt kan bringe disse i anvendelse i konkrete problemstillinger.
- viden om principper for oversættelse mellem formelle sprog.
MålbeskrivelseFor at opnå kursets formål er det læringsmålet for kurset, at den studerende demonstrerer evnen til at:
- 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 ud fra et abstrakt syntakstræ.
- forklare om diverse former for kodeoptimering; herunder detaljer omkring, hvordan liveness analyse kan anvendes til registerallokering.
- gøre rede for funktionaliteten af de gennemgåede algoritmer til garbage collection.
IndholdKurset indeholder følgende faglige hovedområder:
Scannere, parsere, oversættergenereringsværktøjer, abstrakte syntakstræer, symboltabeller, typecheck, kodegenerering, optimering, liveness analyse, registerallokering, garbage collection.
LitteraturMeddeles 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 (15012402).
Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Introfase: 21 timer
Træningsfase: 21 timer, heraf:
- Eksaminatorie: 21 timer
Aktiviteter i studiefasen
UndervisningsformI introfasen introduceres og perspektiveres begreber, teorier og modeller.
I træningsfasen træner de studerende færdigheder og trænger dybere ned i det stof.
I studiefasen får de studerende faglige, personlige og sociale erfaringer, der sætter dem i stand til at befæste og videreudvikle deres videnskabelige kompetencer. Der er fokus på fordybelse, forståelse og udvikling af samarbejdskompetencer
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.
Denne kursusbeskrivelse var gyldig fra 1. februar 2017 til 31. januar 2019.