Compilers
Welke uitspraak over driehoeksadrescode (three-address code), een tussenrepresentatie, is juist?
- AEén instructie kan een willekeurig aantal bewerkingen en haakjes bevatten
- BElke instructie bestaat uit maximaal drie adressen en één bewerking
- CAls adres wordt altijd een fysiek geheugenadres geschreven
Antwoord en toelichting tonen
Antwoord: B. Elke instructie bestaat uit maximaal drie adressen en één bewerking
Bij three-address code wordt een complexe expressie ontleed in een reeks eenvoudige instructies met slechts één bewerking. x = (a + b) * c wordt bijvoorbeeld t1 = a + b en x = t1 * c, en in één instructie komen maximaal drie adressen voor: het resultaat en twee operanden. Aan tussenwaarden worden tijdelijke namen (zoals t1) gegeven. Zo is de volgorde van berekening duidelijk en zijn optimalisatie en omzetting naar CPU-instructies gemakkelijker. Adressen zijn variabelen of tijdelijke namen, geen fysieke adressen.