Wat is Intermediaire representatie (IR)?

Weergave van een programma binnen de compiler in een vorm die onafhankelijk is van zowel de brontaal als de CPU. Veel optimalisaties vinden hierop plaats, zodat de taalspecifieke voorkant en de CPU-specifieke achterkant gescheiden kunnen worden.

Japanse benaming: 中間表現

“Intermediaire representatie (IR)” komt voor in 4 oefenvragen uit 3 onderwerpen, bijv. Compilers, Vermogenshalfgeleiders, Beeldsensoren en optische componenten.

Vakgebied: Compilers

Nu oefenen: vragen over Intermediaire representatie (IR)

Wat is het belangrijkste voordeel van het gebruik in een compiler van een tussenrepresentatie (IR) die niet van de brontaal en niet van de CPU afhangt?

  1. AMet een tussenrepresentatie kan worden gecompileerd zonder de broncode te lezen
  2. BEen tussenrepresentatie kan door de CPU rechtstreeks worden uitgevoerd, zodat het genereren van machinecode overbodig is
  3. CDe voorkant per taal en de achterkant per CPU kunnen worden gescheiden en optimalisaties kunnen gemeenschappelijk worden gebruikt
Antwoord en toelichting tonen

Antwoord: C. De voorkant per taal en de achterkant per CPU kunnen worden gescheiden en optimalisaties kunnen gemeenschappelijk worden gebruikt

Bij ondersteuning van M talen en N CPU's zouden voor elke combinatie compilers nodig zijn, M×N in totaal, maar met een gemeenschappelijke tussenrepresentatie volstaan M frontends (van taal naar tussenrepresentatie) en N backends (van tussenrepresentatie naar CPU). Ook veel optimalisaties hoeven maar één keer op de tussenrepresentatie te worden gemaakt en zijn voor alle talen en CPU's bruikbaar. Een tussenrepresentatie kan niet rechtstreeks door de CPU worden uitgevoerd en moet ten slotte naar machinecode worden omgezet.

“Intermediaire representatie (IR)” in de toelichting

Vragen met “Intermediaire representatie (IR)” (4)

  1. Wat is het belangrijkste voordeel van het gebruik in een compiler van een tussenrepresentatie (IR) die niet van de brontaal en niet van de CPU afhangt?
  2. Hoe heet de kleine weerstand die in serie in het stroompad wordt geplaatst om stroom te meten, bijvoorbeeld in voedingen?
  3. Wat is de rol van de microlens die boven elke pixel van een beeldsensor wordt geplaatst?
  4. Welke uitspraak over de basisopzet van LLVM is juist?

Verwante termen

Microlens Fotodiode LLVM GPU Abstracte syntaxisboom (AST) Basic block Common subexpression elimination Constant folding Control-flow-graaf (CFG) Inlining

Naar de woordenlijst