2015/2016

02247 Oversætterkonstruktion

Engelsk titel:

Compiler Construction

Sprog:

Point( ECTS )

5

Kursustype:

Kandidat
Kurset udbydes under tompladsordningen
 

Skemaplacering:

F2B (tors 8-12)

Undervisningens placering:

Campus Lyngby

Undervisningsform:

Forelæsninger, teoretiske øvelser og praktiske øvelser.

Kursets varighed:

13-uger

Eksamensplacering:

F2B, E2B

Evalueringsform:

Bedømmelsesform:

Anbefalede forudsætninger:

Overordnede kursusmål:

Oversættere bidrager til pålideligheden af softwaresystemer med hjælp af analyser og optimeringer af systemets kode, og ved at sikre egenskaber af de genererede programmer. Nogle af de store softwarevirksomheder som Microsoft og Google opfatter oversættere at være så essentielt en del af deres projekter, at de endda oversætter deres oversættere fra kildekode som del af deres build processer.

Kurset underviser i teknikker som bruges til at effektiv implementere moderne funktionelle og objekt-orienterede programmeringssprog, og til at sikre pålideligheden af de genererede programmer. Vi behandler grundlæggende teknikker i moderne oversættere, fra implementering over optimeringer til køretids understøttelse for nye hardwarearkitekturer. I kurset arbejder de studerende i gruppe med at implementere en oversætter for et realistisk programmeringssprog.

Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • forklare oversætternes bidrag til pålidelighed af softwaresystemer;
  • forklare strukturen af optimerende oversættere og funktionaliteten af de forskellige faser;
  • forklare de behandlede former for intermediate representation, og vælge den passede form baseret på funktionelle krav;
  • forklare relationen mellem højtniveaussprog, intermediate representation, analyser, og optimeringer;
  • forklare processen af code generering for moderne processorer;
  • vælge det rigtige fase for implementering af ny funktionalitet baseret på en kravbeskrivelse;
  • identificere situationer i softwareudvikling, hvor teknikker fra oversættere kan anvendes, og realisere denne anvendelse;
  • anvende moderne værktøjer til implementering af oversættere og forklare deres funktionalitet;
  • implementere en oversætter for et realistisk programmeringssprog;
  • opnå ovennævnte resultater som del af et gruppe arbejde men på en sådan måde at de individuelle bidrag kan identificeres; og
  • kommunikere de opnåede resultater på en klar og præcis måde i en standard form for teknisk rapport.

Kursusindhold:

Kurset dækker tre hovedemner:
(1) Oversætter for forskellige sprogparadigmer, såsom funktionelle og objekt-orienterede sprog, og abstrakte maskiner som målarkitektur for oversættere;
(2) Intermediate representationer og deres indflydelse på oversættelsen;
(3) Kodegenerering, kodeselektion, og optimeringer.

Mulighed for GRØN DYST deltagelse:

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

Kursusansvarlig:

Christian W. Probst , Lyngby Campus, Bygning 324, Tlf. (+45) 4525 7512 , cwpr@dtu.dk

Institut:

01 Institut for Matematik og Computer Science

Tilmelding:

I CampusNet
Sidst opdateret: 27. maj, 2015