Veel programma's hebben als input een rij symbolen. Deze rij symbolen heeft vrijwel altijd een structuur.
Voorbeelden van zulke rijen symbolen zijn programma's in een of andere programmeertaal, over het internet
in pakketvorm verstuurde informatie, of informatie die door een programma in een file is weggeschreven met
de bedoeling door een ander programma weer ingelezen te worden.
Dergelijke structuren worden beschreven met behulp van grammatica's. Vanuit deze beschrijving kunnen
automatisch programma's gegenereerd worden die deze structuur herkennen. Dit herkennisproces is
een belangrijk component van veel programma's (bijvoorbeeld vertalers), en ook de beschrijving van
het vertaalproces maakt gebruik van dergelijke grammaticale formalismen.
Door speciale klassen van grammatica's te gebruiken kun je al dan niet meer van de structuur uitdrukken,
of tevoren garanderen dat je de structuur gemakkelijk (bijvoorbeeld in lineaire tijd) kunt herkennen.
In dit vak leer je zelf grammatica's te ontwerpen, hoe hiervoor ontleders te construeren en hoe de resultaten
van deze ontleders verder te gebruiken. Zo zul je zien hoe je code kunt genereren voor een gedeelte van
de programmeertaal Java. Grammatica's spelen een centrale rol in de Informatica (XML Schema's,
database schema's, etc), dus dit vak biedt ook conceptuele ondersteuning voor de rest van je studie.
http://www.cs.uu.nl/education/vak.php?vak=INFOB3TC&jaar=2010