Kursplan fastställd 2019-02-08 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnCompiler construction
- KurskodTDA283
- Omfattning7,5 Högskolepoäng
- ÄgareMPALG
- UtbildningsnivåAvancerad nivå
- HuvudområdeDatateknik, Informationsteknik
- InstitutionDATA- OCH INFORMATIONSTEKNIK
- BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd
Kurstillfälle 1
- Undervisningsspråk Engelska
- Anmälningskod 02112
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0114 Projekt 7,5 hp Betygsskala: TH | 7,5 hp |
I program
- MPALG - DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
- MPEES - INBYGGDA ELEKTRONIKSYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
- MPHPC - HÖGPRESTERANDE DATORSYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 1 (valbar)
Examinator
- Magnus Myreen
- Enhetschef, Computing Science, Data- och informationsteknik
Behörighet
Grundläggande behörighet för avancerad nivåSökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Särskild behörighet
Engelska 6Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Kursspecifika förkunskaper
Två år av studier inom datavetenskap eller motsvarande. Kursen DAT151 Programming language technology eller någon motsvarande.Syfte
Syftet med kursen är att utveckla en förståelse för hela processen i en kompilator, med början i lexikalanalysen och som avslutas med maskinkodsgenerering. Laborationen i kursen består i att skriva en komplett kompilator för ett litet imperativt språk.Lärandemål (efter fullgjord kurs ska studenten kunna)
- känna till grundläggande principer for runtime-miljöer, parameterskickande och minneshantering, och att implementera dessa i en kompilator;
- designa och implementera kompilatorscheman för att generera intermediärkod eller assembler från ett källprogram;
- använda dataflödesanalys för att implementera registerallokering och kodoptimeringar;
- designa och implementera utökningar för ett litet imperativs programmeringsspråk och känna till de viktigaste aspekterna av att kompilera objektorienterade programmeringsspråk.