I00112 (I00112)
Inleiding Vertalerbouw*
< 2006/2007 > 05-02-2007 t/m 21-06-2007 () L
Informatica - Bachelor (2003) Software: Programmeren en algoritmiek (6 ec) (6 ec)
omvang
6 ec (168 uur) : 30 uur plenair college, 20 uur groepsgewijs college, 60 uur computerpracticum, 0 uur 'droog' practicum, 0 uur gesprekken met de docent, 0 uur onderling overleg met medestudenten (werkgroepen, projectwerk e.d.), 58 uur zelfstudie
investering
6 ec * 28 u/ec + #std * (1 + 6ec * 0.15 u/student/ec)
speciale web-site
http://www.niii.ru.nl/~kees/vbcourse/

 

Compilerbouw is bij uitstek een vak waarin theorie (formele talen), en praktijk (efficiënte opslagstructuren, engineering van complexe software) bijeenkomen. Het college richt zich op methoden om gegevens in een input-taal om te zetten naar gegevens in een output-taal, door implementatie van een syntax-gestuurde transducer. Belangrijke toepassingen liggen bij de bouw van vertalers, maar ook van complexe gebruikers-interfaces en bij de conversie van software en gegevens.

Leerdoelen

Doel van het vak is te begrijpen hoe een syntactische beschrijving het ontwerp en de realisering van input/output transformaties (transducers) kan sturen. Je leert: * Een eenvoudige vertaler of vertolker implementeren vanuit een specificatie van de syntax en de semantiek van de programmeertaal of ander formalisme. * Vanuit een specificatie van bron- en doeltaal en van de relatie daartussen een transducer construeren. * Situaties herkennen waarin een probleem met behulp van een transducer kan worden opgelost. Er wordt geoefend door het schrijven van kleine programma's in de implementeringstaal CDL3.

Onderwerpen

Klassieke vertalerbouw onderwerpen, als * syntax, semantiek en pragmatiek van programmeertalen * structuur en componenten van een compiler * naamlijst, identificatie * typering, type-equivalentie * formele talen, CF transducers, syntax-analyse * abstracte machines en codegeneratie.

Toelichting

Het volgen van colleges en werkcolleges is BESLIST nodig, ook al is er een dictaat. In het werkcollege worden de 1 à 2-wekelijkse practicumopgaven voor- en nabesproken en wordt er met de stof geoefend.

Werkvormen

wekelijks 2*2 contacturen (college en werkcollege), daarnaast 4 uur practisch werk en plm 2 uur zelfstudie.

Vereiste voorkennis

* Kennis van formele talen en de corresponderende automaten * Een grondige vaardigheid in het programmeren, met name recursie en het ontwerp en de realisering van algoritmen over abstracte datatypen.

Tentaminering

Schriftelijk tentamen alsmede beoordeling van de structuur en werking van de in het practicum gemaakte opgaven.

Combinatiemogelijkheden

IVB is een algemeen vormend vak in de bachelor fase. In de master phase sluit het vak VB (geavanceerde Vertalerbouw) hier op aan.

Literatuur

HW.M.Waite en G.Goos "Compiler construction", Springer Verlag 1984. Een onovertroffen boek dat helaas slechts gebruikt te krijgen is (amazon.com). Het dictaat en enige toegevoegde literatuur worden uitgereikt.


Evaluatie: studentenquêtes ; geen docentevaluatie bekend Rendement: 22 begonnen, 13 echt meegedaan, 6 geslaagd met 1e kans, 11 geslaagd totaal
Q: