Compilerconstructie (B-KUL-H04G9B)

Doelstellingen
Inzicht verwerven in de opeenvolgende fasen van een klassiek compilatieproces, de algoritmen die er gebruikt worden en de verbanden tussen de verschillende fasen. Verstaan van de concepten van een parser-generator. Kunnen toepassen van de verworven inzichten in nieuwe compilatie-gerelateerde situaties, bijvoorbeeld andere programmeertalen of andere architecturen. Zelfstandig relevant materiaal over het compilatieproces kunnen verzamelen, dat kunnen samenvatten en presenteren. In staat zijn recent onderzoek i.v.m. compilatietechnieken te verstaan, op relevantie/ geldigheid te beoordelen en eventueel ertoe bij te dragen.
Begintermen
Enige kennis van laag-niveauimplementatie van programmeertalen. Er zal ook gesteund worden op algoritmisch inzicht dat vroeger werd opgedaan (i.h.b. redeneren over algoritmen), grafentheorie, kennis over stack-gebaseerde uitvoering van imperatieve talen, kennis van instructiesets van specifieke architecturen.
Beginvoorwaarden:
· Methodiek van de Informatica of Beginselen van programmeren,
· Computerarchitectuur en systeemsoftware of Structuur en organisatie van computersystemen.
Plaats in het onderwijsaanbod
Onderwijsleeractiviteiten
4.7 sp. Compilerconstructie: hoorcollege (B-KUL-H04G9a)
Inhoud
Alle fasen van een klassieke compiler worden in detail behandeld: lexicale analyse en syntaxanalyse, bouwen van abstracte syntaxboom, semantische analyse, generatie van intermediaire code, opdelen in basisblokken en sporen, instuctieselectie, liveness analyse, registerallocatie en code-emissie.
Verder kunnen de volgende onderwerpen behandeld worden: geheugenbeheer, uitzonderingen, polymorfisme, uitgestelde
uitvoering, profiling, debugging, adaptive compilatie, lusoptimisaties, al naar gelang van de interesse van de studenten en / of het
dwingend karakter van deze onderwerpen op een bepaald ogenblik.
Studiemateriaal
Studiekost: 51-75 euro (De informatie over studiekosten zoals hier opgenomen is indicatief en geeft enkel de prijs weer bij aankoop van nieuw materiaal. Er zijn mogelijk ook e- en tweedehandskopijen beschikbaar. Op LIMO kan je nagaan of het handboek beschikbaar is in de bibliotheek. Eventuele printkosten en optioneel studiemateriaal zijn niet in deze prijs vervat.)
In principe kan elk jaar van boek gewisseld worden. Op dit ogenblik zijn goede kandidaten:
· ’Modern Compiler Implementation in C’ Andrew W. Appel (Cambridge University Press, ISBN 0-521-58653-4)
· ’Advanced Compiler Design Implementation’ Steven S. Muchnick (Morgan Kaufmann Publ. San Francisco, ISBN 1-55860-320-4)
Aanvullingen over nieuwere onderwerpen zijn veelal langs het net beschikbaar.
Toelichting werkvorm
Het college wordt door de studenten gegeven. Elke les wordt gevolgd door feedback.
0.3 sp. Compilerconstructie: practicum (B-KUL-H04H2a)
Inhoud
Alle fasen van een klassieke compiler worden in detail behandeld: lexicale analyse en syntaxanalyse, bouwen van abstracte syntaxboom, semantische analyse, generatie van intermediaire code, opdelen in basisblokken en sporen, instuctieselectie, liveness analyse, registerallocatie en code-emissie. Verder wordt er een selectie van meer geavanceerde onderwerpen behandeld: geheugenbeheer, uitzonderingen, polymorfisme, uitgestelde uitvoering, profiling, debugging, adaptive compilatie, lusoptimisaties, net-op-tijd-compilatie ... Wat juist aan bod komt wordt bepaald door de interesse van de studenten. Hete onderzoekstopics krijgen daarbij voorrang.
*
Elke student geeft een les waarin hij/ zij een onderwerp uit het handboek - of een bijkomend onderwerp - presenteert voor de medestudenten. Dit gebeurt meestal in groepjes van twee studenten voor een les van bijna 2 uur. Zulk een les wordt onmiddellijk gevolgd door een nabespreking naar vorm en inhoud door de medestudenten en de docent. De studenten stellen ook de examenvragen op over de leerstof die in hun les is behandeld. De examenvragen worden op het einde van de cursus globaal besproken.
Evaluatieactiviteiten
Evaluatie: Compilerconstructie (B-KUL-H24G9b)
Toelichting
Een deel van de punten (5/20) staat op het geven van een les. Het geven van de les kan niet overgedaan worden bij een tweede examenkans.
Wanneer de faculteit wegens overmacht beslist dat bij een mondeling examen de voorbereidingstijd beperkt moet zijn tot minder dan een uur, dan wordt het mondeling examen vervangen door een schriftelijk examen. De impact hiervan wordt dan beschreven op Toledo.
Toelichting bij herkansen
Het geven van de les (waarop 5/20 staan) kan niet overgedaan worden. De punten van die les worden overgedragen naar de tweede examenkans.