Förstå, beskriva och använda grundläggande teorier för formella språk, språkets grammatik, och översättarteknik
Förstå och använda principer för lexikalisk, syntaktisk och semantisk analys
Förstå och använda principer för representation, codegenerering, och interpretation på en mellanliggande nivå
2. Färdighet och förmåga
Designa och utveckla olika faser av kompliering, inkluderat
Scanner (Lexical analys)
Parser ( Syntax Analys)
Typkontroll (Semantisk analys)
Mellanliggande presentation
Code generator
Interpretator
Designa och utveckla testpaket som garanterar språktäckning
3. Värderingsförmåga och förhållningssätt
Bedöma effekterna av val i representation och algoritmer på implementeringen av kompilatorn
Kursinnehåll
Kompilator och översättarteknik används vanligtvis under mjukvaru-utvecklingen. Eftersom på ena sidan är de flesta program som vi skriver i högnivåspråk, och på andra sidan förstår hårdvaran endast lågnivåspråk (binära instruktioner). Kompilatorer används huvudsakligen för att översätta dessa program som är skrivna i högnivåspråk till lågnivåspråk (såsom assembler). Assembler är ansvarig för att generera binär kod från en assembler fil. Förstå kompilatorteknik är grundläggande kunskaper hos den avancerade programmeraren som kommer att uppdatera existerande programspråk eller optimera existerande kompilatorer. Dessutom kommer det att behövas designa nya domänspecifika programmeringsspråk och utveckla deras kompilatorer. Dessutom är tekniken som används vid översättning och kompilering också användbar inom många andra områden, där kunskap om detta området är särskilt användbart.
Kursen består av följande:
Grundläggande teorier för formella språk, språkets grammatik och översättningstekniker
Principer för lexikalisk, syntaktisk (parsing topp-down och bottom-up) och semantisk analys (typkontroll)
Introduktion till olika verktyg för att designa och implementera olika kompilatorfaser inklusive lexikalisk analysator och syntax analysator
Design och implementering av grafbaserade mellanpresentation och graftraverseringstekniker
Principer för utformning av kodgenerering och tolkning
Designa och implementera alla faser av kompilatorn, inklusive lexer, parser, typkontroll, mellanrepresentation, kodgenerering och tolkning
Förutsättningar
För tillträde till kursen krävs 18 hp avklarade i programmering inklusive datastrukturer och algoritmer.