Kompilatorteknik projekt

5 hp

Kursplan, Avancerad nivå, 1DL420

Det finns en senare version av kursplanen.
Kod
1DL420
Utbildningsnivå
Avancerad nivå
Huvudområde(n) med fördjupning
Datavetenskap A1N, Teknik A1N
Betygsskala
Underkänd (U), godkänd (G)
Fastställd av
Teknisk-naturvetenskapliga fakultetsnämnden, 12 mars 2009
Ansvarig institution
Institutionen för informationsteknologi

Behörighetskrav

120 hp, varav matematik 15 hp inkl. Automatateori, samt datavetenskap 60 hp inkl. en fortsättningskurs i programmering, algoritmer och datastrukturer, kompilatorteknik I och operativsystem.

Mål

För godkänt betyg ska studenten kunna skriva en kompilator som översätter ett imperativt programspråk motsvarande delar av C till maskinkod för RISC-liknande maskiner.

Specifikt ska studenterna kunna

  • implementera en kompilator som en sekvens av distinkta översättningsteg
  • implementera lexikalisk analys med en ändlig automat
  • använda kontextfria språk för att beskriva ett programspråks syntaktiska struktur använda parsningsmetoderna top-down (recursive descent) och bottom-up (LR)
  • implementera abstrakta syntaxträd för att representera resultatet av den syntaktiska analysen
  • använda hashtabeller för att hantera information om variabelbindingar i språk med statiska och nästlade synlighetregler
  • bryta ner satser och uttryck till enklare konstruktioner, och översätta syntaxträd till mellankod
  • implementera rekursiva proceduranrop med hjälp av stackar, aktiveringsposter och maskinregister
  • implementera översättningen från ett programs förenklade mellankod till maskinspecifika instruktioner

Innehåll

Studenterna utför ett projekt i vilket de implementerar en kompilator från en delmängd av C till en RISC-maskin.

Projektet är uppdelat i etapper, vilka redovisas separat.

Undervisning

Projekt.

Examination

Kursen examineras med uppgifter inom projektet.

Övriga föreskrifter

Kursen kan ej tillgodoräknas i examen tillsammans med Kompilatorteknik DV1 (1DL117) och Kompilatorteknik I (1DL021).

Litteraturlista saknas.

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin