02332 Compilerteknik

2017/2018

Kursusinformation
Compiler Construction
Dansk
5
Diplomingeniør
Kurset udbydes under tompladsordningen
E4A (tirs 13-17)
Ved overtegning har diplomstuderende fortrinsret.
Campus Lyngby
Klasseundervisning og laboratoriearbejde.
13-uger
E4A, F4A
Skriftlig eksamen og bedømmelse af opgave(r)
Der er obligatoriske projekter, som tæller 30% og en skriftlig eksamen, som tæller 70%.
4 timer
Alle hjælpemidler er tilladt
7-trins skala , ekstern censur
02312/02324/02326
Sebastian Alexander Mödersheim , samo@dtu.dk

01 Institut for Matematik og Computer Science
http://www.imm.dtu.dk/courses/02332
I studieplanlæggeren
Kontakt underviseren for information om hvorvidt dette kursus giver den studerende mulighed for at lave eller forberede et projekt som kan deltage i DTUs studenterkonference om bæredygtighed, klimateknologi og miljø (GRØN DYST). Se mere på http://www.groendyst.dtu.dk
Overordnede kursusmål
De studerende lærer at forstå principperne for oversættere og virtuelle maskiner. De studerende lærer at bruge og konstruere software-værktøjer til implementering dele af en funktionsdygtig oversætter.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • forklare de forskellige faser i oversættelse og kørsel
  • benytte udvalgte værktøjer relateret til oversættelsesfaserne (fx lexers, parsers)
  • forklare de forskellige elementer i beskrivelser af programmeringssprog
  • aflede specifikationer for oversættelsesfaserne, givet en tekstuel beskrivelse af syntaksen for et programmeringssprog
  • implementere en analyse og kodegenereringsfase, givet en tekstuel beskrivelse af semantikken for et programmeringssprog
  • udvikle en funktionsdygtig oversætter
  • indfri målene som led i en gruppeindsats, samtidig med bevarelse af individuelt ansvar
  • kommunikere løsninger til opgaver på en klar og præcis måde
Kursusindhold
Oversætterdelen af kurset omhandler principper for virtuelle maskiner og hovedfaserne for oversættere:

(1) Leksikalsk analyse (skanning) og værktøjer til generering af skannere.
(2) Syntaktisk analyse (parsing) og værktøjer til generering af parsere.
(3) Semantisk analyse.
(4) Kodegenerering.
Sidst opdateret
15. august, 2017