SYBSc Computerwetenschappen - Constructie van theoretische compilers - Vragenformulier
Jaar: 2022
Duur: 3 uur
Instructies:
Alle vragen zijn verplicht.
Alle vragen hebben gelijke cijfers.
Deel 1:
Beschrijf de Chomsky-hiërarchie met verwijzing naar eindige automaten, pushdown-automaten en turingmachines.
Geef een kort overzicht van de belangrijkste functies en componenten van een lexicale analysator.
Bespreek de verschillende parseertechnieken die in compilers worden gebruikt, met bijzondere aandacht voor top-down en bottom-up parseermethoden.
Leg met relevante voorbeelden het concept van L-toegeschreven en S-toegeschreven grammatica's uit.
Illustreer hoe intermediaire representatie een cruciale rol speelt in het compilatieproces.
Deel 2:
Ontwerp een lexicale analysator voor het identificeren van identificatiegegevens en trefwoorden in een programmeertaal.
Schrijf een reguliere expressie om te controleren op geldige e-mailadressen.
Leg uit hoe een compiler typecontrole en gegevenstypeconversies uitvoert.
Construeer een LR(0)-parseertabel voor een gegeven grammatica.
Ontwikkel een algoritme om controlestroomgrafieken te construeren voor een tussenweergave.
Deel 3:
Geef een overzicht van de verschillende soorten code-optimalisatietechnieken die tijdens het compileren worden uitgevoerd.
Bespreek het belang en de uitdagingen van het genereren van efficiënte machinecode.
Leg de concepten van toewijzing van lokale variabelen, spillcode en registertoewijzing uit in de context van het genereren van code.
Benadruk de afwegingen tussen optimaliseren voor ruimte of snelheid tijdens het genereren van code.
Schrijf korte aantekeningen over het volgende:
Code vouwen
Beheers de afvlakking van de stroom
Eliminatie van dode code
Lus ontrolt
Toewijzing registreren
Veel succes! |