TDDA 28 KOMPILATORER OCH INTERPRETATORER, 2,5 poäng

/Compilers and Interpreters/
För D4, Y4
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi
Fördjupningsnivå: C

Mål:
Att ge kunskap om kompilatorers uppbyggnad, konstruktion och funktion samt hur minnesutrymme administreras i samband med exekvering av program.

Förkunskaper:
Följande moment skall behärskas av kursdeltagarna:
Kunskap om ett Pascal-liknande programmeringsspråk. Interna lagringsformer t ex arrayer och listor. Abstrakta datatyper och dess implementeringsteknik. Var och en av följande kurser behandlar dessa moment:
TDDA 29 Datastrukturer (för Y), TDDA 85 Datastrukturer och programutvecklingsmetodik (för I). TDDB 57 Datastrukturer och algoritmer (för D). TDDA 57 Lagringsstrukturer (för D).

Organisation:
På föreläsningar behandlas teorin enligt kursboken.
På laborationerna skall några för en kompilator centrala komponenter, som t ex syntax och lexikalisk analysator, konstrueras.

Kursinnehåll:
Olika typer av översättare, som t ex kompilatorer och preprocessorer.
Grammatikor och formella språk.
Lexikalisk och syntaktisk analys.
Mellankod och representation av denna.
Under resten av kursen skall man få kännedom om:
Minneshantering och runtime-system.
Kodoptimering och kodgenerering.
Verktyg för att framställa kompilatorer.
Kriterier för språkdesign.

Kurslitteratur:
Aho, Alfred V., Sethi R., Ullman, Jeffrey D.: Compiler Principles, Techniques and Tools, Addison Wesley Publ Co 1986.
Kompendier, utges av institutionen för datavetenskap.

Examination:
LAB 1 En laborationskurs.
TEN 1 En skriftlig tentamen.