Oversættelse

Oversættelse



Formål
Dette kursus handler om oversættelse af programmer fra et sprog til et andet. De studerende skal konstruere en oversætter og en virtuel maskine som dens målplatform, og dokumentere begge i en skriftlig rapport.

Indhold:
Programmer som dataobjekter:
Fortolkere, oversættere (batch, just in time), køretids-kodegenerering, bootstrapping.

Syntaksanalyse:
Konkret og abstrakt syntaks, regulære udtryk, scanning, lex-agtig scannergenerering, BNF, deterministisk parsing, yacc-agtig parsergenerering, abstrakte syntakstræer, makroer.

Semantisk analyse:
Mellemlagssprog, typetjekning, resourceallokering.

Kode generering:
Resourcer, templates, optimeringer.

Virtuelle maskiner og køretidsomgivelser:
Closures, objekter, dynamisk lagerallokering, garbage collection.

Gennemgang af:
Statisk programanalyse, platformskode-generering, interoperabilitet, mobile programmer, bevisbærende programmer.

Underviser
Olivier Danvy

Forelæsninger:
3 timer/uge

Øvelser:
3 timer/uge

Projekt:
Ca. 8 uger

Sprog
Engelsk

Forudsætninger:
dIntProg, dADS, dArkOS, and dModLog

Eksamensform
Projektbaseret mundtlig eksamen. Evalueringen af projektet vil indgå i den samlede karakter.

Point
10 ECTS

Semester
Efterår