Studiegids

nl en

Compiler Construction

Vak
2020-2021

Toegangseisen

Niet van toepassing.

Beschrijving

Computerprogramma’s in een hogere programmeertaal kunnen pas uitgevoerd worden door een computer als ze zijn vertaald naar lager-niveau code. In veel gevallen gebeurt dit door een compiler.

Bij dit vak leren we hoe compilers in verschillende stappen broncode omzetten in assemblycode. We bestuderen de theorie achter compilers, en passen deze toe bij het practicum, in een serie opdrachten waarbij we een eenvoudige compiler construeren.

Onderwerpen die aan de orde komen tijdens de colleges hebben betrekking op het proces van de constructie van een compiler, b.v.: lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code generation, en code optimization.

Aanbevolen voorkennis: Algoritmiek, Fundamentele Informatica 2, Operating Systems, Computer Architecture.

Leerdoelen

Inzicht verwerven in de functionaliteit van de verschillende fasen van het compileerproces, en hoe deze fasen aan elkaar gerelateerd zijn. Vertrouwd raken met de verschillende stappen in de constructie van een compiler en de problemen die daarbij optreden.

Rooster

Het meest recente rooster is te vinden op de Studenten-website:

Onderwijsvorm

Hoorcollege, werkcollege en een practicum met vier programmeeropdrachten.

Toetsing en weging

Schriftelijk tentamen aan het eind van het semester. Het eindcijfer van het vak is een gewogen gemiddelde van de cijfers voor het tentamen (40%) en het practicum (60%). Zowel tentamen als (alle) programmeeropdrachten moeten voldoende zijn.

De docent zal de studenten informeren hoe de inzake en de nabespreking van de tentamen zal plaatsvinden.

Literatuurlijst

Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, second edition, Pearson New International Edition, 2013, ISBN 9781292024349.

Inschrijven

Aanmelding voor vakken verloopt via uSis. Hiervoor is de uSis-code van het vak nodig, die te vinden zijn in de Studiegids. Meer info over het inschrijven voor vakken of tentamens is hier te vinden.

MyTimetable

In MyTimetable kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je in uSis staat ingeschreven, worden automatisch in je rooster getoond. Daarnaast kun je My Timetable gemakkelijk koppelen aan een agenda-app op je telefoon en worden roosterwijzigingen automatisch in je agenda doorgevoerd; bovendien ontvang je desgewenst per e-mail een notificatie van de wijziging.

Vragen? Bekijk de video-instructie, lees de instructie of neem contact op met de ISSC helpdesk.

Brightspace

Inschrijving voor vakken verloopt via uSis. Wanneer je je hier inschrijft voor een bepaald vak krijg je automatisch ook toegang tot de omgeving van dit vak via Brightspace.

Voor meer informatie over Brightspace kun je op deze link klikken om de handleidingen van de universiteit te bekijken. Bij overige vragen of problemen kan contact opgenomen worden met de helpdesk van de universiteit Leiden.

Contact

Onderwijscoördinator Informatica, Riet Derogee