Kompilatorteknik projekt

5 hp

Kursplan, Avancerad nivå, 1DL420

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, 30 augusti 2018
Ansvarig institution
Institutionen för informationsteknologi

Behörighetskrav

120 hp, varav matematik 15 hp inklusive Automatateori, samt datavetenskap 60 hp inklusive en fortsättningskurs i programmering, algoritmer och datastrukturer, kompilatorteknik I och operativsystem. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)

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.

Efter godkänd kurs ska studenten 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.

Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare för studenter med funktionsnedsättning.

Ö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