Oversættelse

Oversættelse (Ovs)

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