Som programmerare behöver man ofta skriva program som analyserar, tolkar och översätter olika typer av data eller program. Det kan vara allt från HTML-filer och enkel konfigurationsinformation till kod i C++. I kursen går vi igenom teori och praktik för hur man gör sådan tolkning och översättning i ett datorprogram. Vi studerar uppbyggnaden av kompilatorer och interpretatorer, och hur dessa delar upp källkoden i symboler, analyserar den i enlighet med programspråkets grammatik, optimerar, och till slut genererar körbar kod. I kursen ingår också run-time-omgivningar och verktyg för att bygga kompilatorer. En stor del av kursen utgörs av programmeringsövningar, där studenterna bland annat får bygga viktiga delar av en kompilator. |