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, 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
Litteraturlista saknas.