Compilateurs
Quelle caractéristique du code à trois adresses, l'une des représentations intermédiaires, est correcte ?
- AUne instruction peut contenir autant d'opérations et de parenthèses que voulu
- BUne instruction comporte au plus trois adresses et une opération
- COn y écrit toujours comme adresses les adresses physiques en mémoire
Afficher la réponse et l'explication
Réponse : B. Une instruction comporte au plus trois adresses et une opération
Le code à trois adresses décompose les expressions complexes en une suite d'instructions simples ne comportant qu'une opération. Par exemple, x = (a + b) * c devient t1 = a + b et x = t1 * c ; une instruction fait intervenir au plus trois adresses : le résultat et deux opérandes. Les valeurs intermédiaires reçoivent des noms temporaires (t1, etc.). L'ordre de calcul devient explicite, ce qui facilite l'optimisation et la conversion en instructions du CPU. Les adresses sont des variables ou des noms temporaires, et non des adresses physiques.