| TDDB44 |
Kompilatorkonstruktion, 4 p
/Compiler Construction/
För:
C
D
SOC
Y
|
| |
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi, Datateknik Nivå (A-D):D
|
| |
Datavetenskap Datavetenskap, datalogi.
|
| |
Mål:
Att lära ut principerna för konstruktion av kompilatorer, att använda moderna redskap för konstruktion av en kompilator samt hur minnesutrymme administreras i samband med exekvering av program.
|
| |
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) TDDB57 Datastrukturer och algoritmer, TDDA89 Formella språk och automatateori.
OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.
|
| |
Organisation: På föreläsningarna genomgås den teoretiska delen. Lektionerna syftar till att förbereda laborationerna. Laborationerna, där en fullständig kompilator implementeras för ett litet Pascal-liknande språk, ger en praktisk erfarenhet av kompilatorkonstruktion.
|
| |
Kursinnehåll: Under föreläsningarna behandlas: 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. 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 för ett litet Pascalliknande språk skall konstrueras. Vissa moduler i denna kompilator genereras med hjälp av kompilatorverktyg medan andra delar konstrueras för hand i C++.
|
| |
Kurslitteratur: Aho, A.V., Sethi, R., Ullman, J.D.: Compiler Principles, Techniques and Tools, Addison-Wesley, Publ Co 1986. Kompendier, utges av institutionen för datavetenskap.
|
| |
Examination: |
TEN1 LAB1
|
En skriftlig tentamen. En laborationskurs. |
2 p 2 p
|
| |
|
Kursen får ej kombineras med TDDB29 Kompilatorer och interpretatorer i examen. |