Compilers

Welke combinatie van wat knopen en pijlen in een controleflowgraaf voorstellen is juist?

  1. AKnopen zijn variabelen, pijlen de volgorde waarin waarden aan variabelen worden toegewezen
  2. BKnopen zijn basisblokken, pijlen sprongen of overgangen tussen blokken
  3. CKnopen zijn functies, pijlen het inlezen van bestanden onderling
Antwoord en toelichting tonen

Antwoord: B. Knopen zijn basisblokken, pijlen sprongen of overgangen tussen blokken

Een controleflowgraaf is een graaf met basisblokken als knopen en als pijlen de overgangen naar de blokken die na uitvoering van een blok kunnen volgen (beide bestemmingen van een voorwaardelijke sprong en de stroom die gewoon naar het volgende blok gaat). Ze wordt gebruikt om lussen te vinden aan de hand van achterwaartse pijlen en om te analyseren waar waarden van variabelen vandaan komen en waarheen ze reiken. De aanroeprelaties tussen functies worden weergegeven in een aparte callgraaf en hebben niets te maken met het inlezen van bestanden.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Compilers

  1. Welke uitspraak over de tussenrepresentatie in SSA-vorm is juist?
  2. Als de bovenstaande code in SSA-vorm wordt gebracht, komt na het if-statement een uitdrukking zoals "x3 = φ(x1, x2)". Welke uitspraak over de werking van deze φ-functie is juist?
  3. Welk voorbeeld van constant folding in een compiler is juist?
  4. Welke code ontstaat uiteindelijk als op de bovenstaande code herhaaldelijk constant propagation en constant folding worden toegepast?
  5. Welke uitspraak is juist over wat gebeurt als op de bovenstaande code common subexpression elimination wordt toegepast?

Vergelijkingen bij dit onderwerp