Kompilatorteknik projekt
Kursplan, Avancerad nivå, 1DL420
Kursen är avvecklad.
- Kod
- 1DL420
- Utbildningsnivå
- Avancerad nivå
- Huvudområde(n) med fördjupning
- Datavetenskap A1N, Teknik A1N
- Betygsskala
- Godkänd (G), Underkänd (U)
- 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
Litteraturlista saknas.