Sök i programutbudet

Använd sökfunktionen för att leta efter kurser och program i Chalmers utbildningsutbud. Den programplan och utbildningsplan som avser dina studier är i allmänhet från det läsår du började dina studier.

​​​​​​​​​​​​​

Kursplan för

Läsår
TDA283 - Kompilatorkonstruktion
Compiler construction
 
Kursplanen fastställd 2017-02-20 av programansvarig (eller motsvarande)
Ägare: MPALG
7,5 Högskolepoäng
Betygskala: TH - Fem, Fyra, Tre, Underkänd
Utbildningsnivå: Avancerad nivå
Huvudområde: Datateknik, Informationsteknik
Institution: 37 - DATA- OCH INFORMATIONSTEKNIK


Undervisningsspråk: Engelska
Sökbar för utbytesstudenter: Ja

Modul   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0114 Projekt 7,5 hp Betygskala: TH   7,5 hp    

I program

MPEES INBYGGDA ELEKTRONIKSYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 1 (valbar)
MPALG DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
MPCSN DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)

Examinator:

Magnus Myreen

  Gå till kurshemsida

Ersätter

TDA281   Kompilatorkonstruktion TDA282   Compiler construction


Behörighet:


För kurser på avancerad nivå gäller samma grundläggande och särskilda behörighetskrav som till det kursägande programmet. (När kursen är på avancerad nivå men ägs av ett grundnivåprogram gäller dock tillträdeskrav för avancerad nivå.)
Undantag från tillträdeskraven: Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Allmän programmeringskunskap (C, C++, Haskell, Java)
Datastrukturer
Formella språk och ändliga automater.
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.

Innehåll

Kompilatorteori och -implementation, med tonvikten på kodgenerering och runtime-miljöer.

Organisation

Undervisningen består av föreläsningar, ett programmeringsprojekt och individuell handledning i samband med projektet. Projektet är huvuddelen i kursen och består i att implementera en komplett kompilator för ett litet imperativt programmeringsspråk. Föreläsningarna ger den kunskap som krävs för att genomföra projektetet, men äver en översikt över de teoretiska grunderna och möjliga utökningar till kompilatorn.

Litteratur

Se separat litteraturlista.

Examination inklusive obligatoriska moment

Programmeringsprojekt och muntlig redovisning. Betygsskala U, 3, 4, 5.


Sidansvarig Publicerad: on 24 jan 2018.