Svenska Studiehandboken kurser

Systemteknik

SMD002 Kompilatorteknik 4.0 Poäng

THIS PAGE IS ALSO AVAILABLE IN ENGLISH

Ämne (enl SCB)
Datateknik

Nivå/Djup
D/61-80 (M Kandidat)

Program/Tidsperiod
Val D3,D4,E3 / Ges ej
/ 97/98

SPRÅK: Engelska/Svenska

EXAMINATOR
Glenn Jennings Univ lekt

FASTSTÄLLD
Kursplanen är fastställd av Institutionen för systemteknik 1995-05-29 att gälla från HT95.

FÖRKUNSKAPSKRAV
Imperativ programmering, Datorteknik. Datorteknik får läsas parallellt.

MÅL
Kursens mål är att studenten ska - konstruera en icke-trivial och fungerande kompilator för ett C-liknande imperativt språk, som översätter källkod till assemblerkod för en pipelinad standardprocessor (t ex. MIPS assembler) - inhämta de teoretiska kunskaper som behövs för detta.

INNEHÅLL
Vid kursstart presenterar läraren det problem som kursdeltagarna ska lösa. De får sedan självständigt inhämta det stoff som behövs för att lösa detta problem.

UNDERVISNING
Kompiltorskrivandet brytes ner i ett antal delmål som bygger på varandra. Delmålen agerar som handledning mot slutet. Studenten förväntas hålla sig till tidsplanen för varje delmål. Ett mindre antal föreläsningar mest riktade mot kompilatorskrivandet men även om teoretiska aspekter förekommer.

EXAMINATION
Skriftlig tentamen. Studenten antas hålla sig till tidsplanen. Tentamen baseras i stort på studentens förvärvade erfarenheter under hela kompilatorskrivandets lopp: Scanner (FLEX), parser (BISON), lexikonkonstruktion och sökande, mellankod och optimeringar, instruktionsschemaläggning, registerallokering, slutkod och peephole-optimering.
KURSENS BETYGSKALA: U,3,4,5

MOMENT/PROV

Rapport om lösning                                          	  3.0	Poäng
Tentamen                                                    	  1.0	Poäng

LITTERATUR
Aho, Sethi, Ullman: Compilers: Principles, Techniques and Tools 2nd ed. Addison-Wesley, 1986 eller A.L. Holub: Compiler Design in C. Prentice-Hall 1990; också Kernighan, Ritchie: The C Programming Language, 2nd ed. Prentice-Hall 1988.

ÖVRIGT
Kursen förutsätter kunskaper i diskret matematik och abstrakta datatyper eller motsvarande. Kompilatorn måste skrivas i standard "C": studenter som inte kan "C" förväntas lära sig "C" under kursens gång på egen hand.

Last modified: 97-12-03
Further information: Glenn Jennings
Tillbaka till institutions meny