NDAA04011U  Oversættere (OV)

Årgang 2014/2015
Engelsk titel

Introduction to Compilers (OV)

Uddannelse
Bacheloruddannelsen i datalogi
Kursusindhold

 

Formål: At give de studerende indsigt i, hvordan programmer skrevet i højniveausprog oversættes til kode på maskiniveau.

I undervisningen gennemgås de forskellige faser af en oversætter:
Leksikalsk analyse, syntaksanalyse, typecheck, kodegenerering samt registerallokering. De grundlæggende metoder til disse faser
gennemgås, inklusive brug og virkemåde af semi-automatiske værktøjer.  Forskelle mellem fortolkning og oversættelse beskrives.

I forbindelse med leksikalsk analyse og syntaksanalyse vises det,
hvordan beskrivelser, der er bekvemme for mennesker (hhv. regulære udtryk og kontekstfri grammatikker), bliver omformet til automater, som er bekvemme for datamater. Disse omformninger er grundlaget for værktøjer, der automatisk kan lave leksikalske analysatorer og syntaksanalysatorer ud fra beskrivelser.

I forbindelse med generering af mellem- og maskinkode gennemgås,
hvordan man på basis af den syntaktiske struktur af et program kan danne maskinkode. Der bliver vist forskellige metoder til at
administrere lager for oversatte programmer, og hvordan det fårindflydelse på, hvilken kode man genererer. Desuden gennemgås metoder til typecheck af programmer, registerallokering og optimering.

 

Målbeskrivelser

Kompetencer

 

  • at designe og implementere en oversætter fra et højniveaussprog til maskinkod;
  • at vurdere og bruge passende værktøjer og biblioteker til oversættelsesprocessen;
  • at vurdere ressourceforbrug (tid og plads) af højniveausprogrammer fra deres oversættelse til maskinkod.

Færdigheder

 

 

  • at bruge værktøjer til leksikalsk og syntaktisk analyse kompetent;
  • at beskrive og vurdere oversætterudvikling i skriftlig form.

Viden

 

 

  • at redegøre faseopdeling af oversættelsesprocessen og deres særlige formål
  • at anvende teoretisk indsigt på: Formelle sprog, regulært udtryk, kontekstfri grammatikker, graffarvning;
  • at forklare hvordan oversætterværktøjer arbejder, og deres begrænsninger

 

Se Absalon når kurset er blevet oprettet. Forventes at være: Torben Mogensen, "Introduction to Compiler Design", Springer, 2011.

Kendskab til maskinkodeprogrammering samt programmering i Standard ML.
Undervisningen vil foregå med en kombination af forelæsninger, øvelser og en praktisk project (med rapport). Rapportopgaven stilles ved kursets start og afleveres I to uger før examen, og løses i grupper på indtil tre personer, Desuden er der fem mindre ndividuelle opgaver.
Point
7,5 ECTS
Prøveform
Skriftlig prøve, 4 timer med opsyn.
Skriftlig prøve med visse hjælpemidler (skriftlige hjælpemedler), 4 time.
Krav til indstilling til eksamen
1. Projekt-rapporten skal være godkendt.
2. Mindst fire ud af de fem ugeopgaver skal være godkendt. Der er mulighed for genaflevering af de fire første ugeopgaver, såfremt de ikke godkendes i første omgang.
Af hensyn til tidsrammen er det ikke muligt at genaflevere project-rapporten eller den femte ugeopgave.
Hjælpemidler
Skriftlige hjælpemidler tilladt
Bedømmelsesform
7-trins skala
Censurform
Ekstern censur
Reeksamen
Mundtlig prøve (30 min. inkl. votering) med forberedelse (30 min) med skriftlige hjælpemidler. Ved mere end 10 tilmeldte afholdes 4 timers skriftlig prøve med skriftlige hjælpemidler (som ordinær eksamen).
Kriterier for bedømmelse

Se målbeskrivelse.

  • Kategori
  • Timer
  • Forelæsninger
  • 28
  • Eksamen
  • 4
  • Projektarbejde
  • 80
  • Praktiske øvelser
  • 14
  • Forberedelse
  • 80
  • I alt
  • 206