Hoppa till huvudinnehållet

ID2202 Kompilatorer och exekveringsmiljöer 7,5 hp

Välkommen till kompilatorkursen ID2202. Kursen ges på engelska. Se kurshemsida: https://canvas.kth.se/courses/42986

 

Välj termin och kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Kursval

Gäller för kursomgång

HT 2024 Start 2024-10-28 programstuderande

Anmälningskod

50126

Rubriker med innehåll från kursplan ID2202 (HT 2021–) ä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 i grundläggande datorteknik/arkitektur, 7,5 hp, motsvarande slutförd kurs IS1200/IS1500.

Kunskaper i algoritmer och datastrukturer, 7,5 hp, motsvarande slutförd kurs ID1020/ID1021.

Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs. Den som är registrerad anses vara aktivt deltagande. Med slutexamination avses både ordinarie examination och det första omexaminationstillfället.

Rekommenderade förkunskaper

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

ID1019 Programmering II eller motsvarande.

Utrustning

Ingen information tillagd

Kurslitteratur

Uppgift om kurslitteratur meddelas i kurs-PM.

Examination och slutförande

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

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.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

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å

Påbyggnad

Ingen information tillagd

Ö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.