NDAA04011U Oversættere (OV)
Introduction to Compilers (OV)
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.
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.
- Kategori
- Timer
- Eksamen
- 4
- Forberedelse
- 80
- Forelæsninger
- 28
- Praktiske øvelser
- 14
- Projektarbejde
- 80
- I alt
- 206
Som meritstuderende - klik her!
Som enkeltfags-studerende (efter- og videreuddannelse) - klik
her!
- 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.
Kursusinformation
- Sprog
- Engelsk
- Kursuskode
- NDAA04011U
- Point
- 7,5 ECTS
- Niveau
- Bachelor
- Varighed
- 1 blok
- Placering
- Blok 2
- Skemagruppe
- C (man 13-17 + ons 8-17)
- Kursuskapacitet
- No limit
- Efter- og videreuddannelse
- Studienævn
- Studienævn for Matematik og Datalogi
Udbydende institut
- Datalogisk Institut
Kursusansvarlige
- Cosmin Eugen Oancea (13-6f7b7f79757a3a7b6d7a6f716d4c70753a77813a7077)