QCM5 Flashcards

1
Q

l’analyse de vivacité de variables

A
  • est utilisée pour construire le graphe de conflit, lui même utilisé pour l’allocaton de registres
  • n’est pas nécessaire pour une allocation naive qui alloue un registre physique par temporaire
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Un graphe de flot de controle

A
  • permet de réaliser l’analyse de vivacité des variables
  • est une représentation intermédiaire utilisée dans un compilateur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Les étapes d’analyse et de transformation réalisées par un compilateur sont

A
  • l’analyse syntaxique
  • l’analyse lexicale
  • la vérification de type
  • la génération de codes 3 adresses
  • l’allocation de registres
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

La génération de code assembleur dans un compilateur

A
  • peut utiliser un graphe de flot de contrôle (CFG) comme représentation intermédiaire mais pas forcément
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Dans un compilateur, sont NP-complets les problèmes suivants

A
  • le coloriage de graphe de conflit avec un nombre minimal de couleurs
  • l’ordonnancement d’instructions à l’intérieur d’un bloc de base
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Dans notre série de TP, les tests (infrastructure pytests)

A
  • permettent d’avoir confiance en notre compilateur
  • lancent le compilateur sur plusieurs fichiers source
  • servent à tester le code final généré
  • sont entièrement automatiques
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Dans la phase d’allocation de registres, l’analyse de vivacité des variables (liveness)

A
  • sert à calculer des informations de conflit
  • calcule un sous-ensemble des variables vivantes en chaque point
  • calcule un sur-ensemble des variables vivantes en chaque point
How well did you know this?
1
Not at all
2
3
4
5
Perfectly