Hoppa till huvudinnehållet
Till KTH:s startsida

ID2202 Kompilatorer och exekveringsmiljöer 7,5 hp

Välkommen till kompilatorkursen ID2202. Kursen ges på engelska. Se kurshemsida: https://www.kth.se/student/kurser/kurs/ID2202?l=en

 

Information per kursomgång

Termin

Information för HT 2026 Start 2026-10-26 programstuderande

Studielokalisering

KTH Campus

Varaktighet
2026-10-26 - 2027-01-11
Perioder

HT 2026: P2 (7.5 hp)

Studietakt

50%

Anmälningskod

10753

Undervisningsform

Normal Dagtid

Undervisningsspråk

Engelska

Kurs-PM
Kurs-PM är inte publicerat
Antal platser

Min: 1

Målgrupp
Öppen för alla program under förutsättning att kursen kan ingå i programmet.
Planerade schemamoduler
[object Object]
Schema
Schema är inte publicerat

Kontakt

Examinator
Ingen information tillagd
Kursansvarig
Ingen information tillagd
Lärare
Ingen information tillagd

Kursplan som PDF

Notera: all information från kursplanen visas i tillgängligt format på denna sida.

Kursplan ID2202 (HT 2026–)
Rubriker med innehåll från kursplan ID2202 (HT 2026–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Kursen behandlar tekniker för implementation av programspråk med hjälp av kompilatorer, både för verkliga och virtuella exekveringsmiljöer, tekniker för att läsa, förstå, översätta, förbättra samt exekvera program:

  • Att läsa program: lexikalanalys och syntaxanalys. Ändliga tillståndsmaskiner, reguljära uttryck, kontext-fria grammatiker, LL- och LR-parsning.
  • Att förstå program: semantisk analys, typkontroll.
  • Att översätta program: maskiner och instruktioner.
  • Intermediärkod, instruktionsval, konventioner för proceduranrop.
  • Att förbättra program: maskinoberoende optimeringar; maskinnära optimeringar (registerallokering, schemaläggning av instruktioner).
  • Att exekvera program: virtuella exekveringsmiljöer och run-timesystem. Minneshantering, skräpsamling, att ladda och länka program, just-in-timekompilering.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • använda metoder för lexikalisk, syntaktisk och semantisk analys
  • använda metoder för generering av maskinkod
  • använda metoder för programoptimering
  • redogöra för vanliga komponenter i exekveringsmiljöer

i syfte att

  • få en förståelse för hur ett programspråk implementeras samt för de allmänna teorier som används och hur dessa kan appliceras.

För högre betyg ska studenten konstruera mer komplexa komponenter av en kompilator. Detaljerna är specificerade i kurs-PM.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper och färdigheter i programmering i högnivåspråk, 6 hp, motsvarande slutförd kurs DD1337/DD1310-DD1319/DD1321/DD1331/DD1333/DD100N/ID1018/ID1022.

Kunskaper i algoritmer och datastrukturer, 6 hp, motsvarande slutförd kurs DD1338/DD1320-DD1328/DD2325/ID1020/ID1021 eller slutförda provmoment KONT och LABD i DD1326.

Minst en av nedanstående:

Kunskaper i grundläggande datorteknik/arkitektur, 6 hp, motsvarande slutförd kurs EP1200/IS1200/IS1500.

Kunskaper och färdigheter i maskinnära programmering, 3 hp, motsvarande slutfört provmoment LAB1 i IS1200/IS1500 eller slutförda provmoment LABA och LABB i EP1200.

Rekommenderade förkunskaper

Mycket god programmeringsvana i ett eller flera högnivåspråk.

ID1019 Programmering II eller motsvarande.

Kurslitteratur

Du hittar information om kurslitteratur antingen i kursomgångens kurs-PM eller i kursomgångens kursrum i Canvas.

Examination och slutförande

Betygsskala

A, B, C, D, E, FX, F

Examination

  • DAT1 - Datorprov, 7,5 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Datalogi och datateknik

Utbildningsnivå

Avancerad nivå

Övergångsbestämmelser

För studenter som registrerats på kursen under HT 2019 eller tidigare och har antingen TEN1 eller INL1 rapporterat i LADOK erbjuds muntlig examination av det andra kursmomentet (antingen TEN1 eller INL1) fram till och med VT2021. Om studenten önskar en sådan examination måste hen kontakta examinatorn via e-post senast sista maj 2021. Muntlig examination erbjuds ej för studenter som varit registrerade på kursen under 2019 eller tidigare, och som inte har något av momenten rapporterade i LADOK.

Övrig information

I denna kurs tillämpas EECS hederskodex, se: http://www.kth.se/eecs/utbildning/hederskodex.