Oversættelse (Ovs)
Målbeskrivelse:
Kurset omhandler konstruktion af oversættere for moderne højniveau programmeringssprog. Der lægges vægt på erfaring med et konkret projekt, hvor der bygges en fungerende oversætter for et realistisk sprog. I den forbindelse skal sprogets semantik i mange tilfælde præciseres af deltagerne selv. Alle sådanneovervejelser samt oversætterens struktur skal dokumenteres i en skriftlig rapport.
Indhold:
Beskrivelse og genkendelse af sprog: grammatikker, LR parsere, Flex/Bison værktøjerne.
Semantisk analyse: abstrakte syntakstræer, typecheck, ressource allokering.
Virtuelle maskiner og runtime omgivelser: stak, heap, objekter.
Kodegenerering: ressourcer, skabeloner, optimeringer.
Oversigtsforedrag om: garbage collection, generering af maskinkode, statisk analyse.
Lærebøger:
Modern Compiler Implementation in C, Andrew W. Appel, Cambridge University Press
Evaluering:
Mundtlig eksamen, som bedømmes efter 13-skalaen. Ekstern censur.
Bemanding:
Michael Schwartzbach
Belastning:
2 point, 10 ECTS