DM546: Oversætterkonstruktion
Kommentar
Indgangskrav
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ål
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ålbeskrivelse
For 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.
Indhold
Kurset indeholder følgende faglige hovedområder:
Scannere, parsere, oversættergenereringsværktøjer, abstrakte syntakstræer, symboltabeller, typecheck, kodegenerering, optimering, liveness analyse, registerallokering, garbage collection.
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Mundtlig eksamen
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
Oplyses på kurset
ECTS-point
Uddybende information
Vejledende antal undervisningstimer
Undervisningsform
- Introfase (forelæsning, holdtimer) - Antal timer: 21
- Træningsfase: Antal timer: 21
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.