TDDB44 · 6 hp · Avancerad nivå (A1X) · Informationsteknologi, Datateknik, Datavetenskap
Kompilatorkonstruktion
Nedlagd · ersatt av TDDE66
Ingen tentastatistik än
Det finns inget tentatillfälle med minst 5 studenter de senaste tre läsåren. Nya kurser och kurser som bara examineras med projekt saknar ofta statistik.
Ingår i 6 program
Om kursen
Mål
Målet med kursen är att ge en omfattande introduction till teoretiska och praktiska aspekter för konstruktion av kompilatorer. Efter genomgången kurs ska du kunna:
- förklara och tillämpa grundläggande principer och metoder för kompilatorkonstruktion
- förklara och använda metoder för lexikalisk analys, top-down och bottom-up parsning
- förklara och använda metoder för semantisk analys, syntaxdriven översättning, kodoptimering
- förklara metoder och teori för konstruktion av lexer- och parsergeneratorer, samt kodgeneratorgeneratorer
- förklara metoder för generering och optimering av kod för RISC-baserade arkitekturer
- designa och implementera en top-down parser för en given kontext-fri grammatik
- använda generatorverktyg för att bygga en lexikalisk analysator och en parser för en riktig kompilator
- förklara och använda metoder för maskinkodgenerering
- designa och implementera en fullständig kompilator inkluderande: lexer, parser, minneshantering, semantisk analys, optimering, maskinkodgenerering.
Innehåll
- Olika typer av översättare, som t ex kompilatorer och preprocessorer.
- Lexikalisk analys och metoder för syntaxspecifikation och syntaxanalys.
- Hantering av deklarativ information.
- Intern representation av program.
- Minneshantering och runtime-system.
- Kodgenerering och kodoptimering, speciellt för RISC-processorer.
- Olika metoder av felhantering.
- Teori för och praktiskt användning av verktyg för att framställa och generera kompilatorer.
- Kriterier för språkdesign.
Kursen har en stark laborativ prägel där en hel kompilator, inklusive lexikalisk analys, parsning, semantisk analys, minneshantering, optimering, generering av maskinkod, för ett litet procedurellt språk skall konstrueras. Vissa moduler i denna kompilator genereras med hjälp av kompilatorverktyg medan andra delar konstrueras för hand.
- Examinator
- Adrian Pop
- Schemalagd tid
- 48 h
- Huvudområde
- Informationsteknologi, Datateknik, Datavetenskap