0% ont trouvé ce document utile (0 vote)
38 vues1 page

DAG et Code Machine en Compilation

Le document décrit deux exercices sur la génération de code machine à partir de quadruplets et d'un DAG représentant une expression arithmétique. Le premier exercice demande de construire le DAG et les quadruplets puis le code machine correspondant à une expression donnée. Le second exercice donne un code intermédiaire et demande de générer le DAG, les quadruplets et le code machine équivalent.

Transféré par

Mohamed Selmani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues1 page

DAG et Code Machine en Compilation

Le document décrit deux exercices sur la génération de code machine à partir de quadruplets et d'un DAG représentant une expression arithmétique. Le premier exercice demande de construire le DAG et les quadruplets puis le code machine correspondant à une expression donnée. Le second exercice donne un code intermédiaire et demande de générer le DAG, les quadruplets et le code machine équivalent.

Transféré par

Mohamed Selmani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Djilali Bounaama Khemis Miliana

Master1 Ingénierie du logiciel


TD de compilation

Travaux dirigés N° 4

Exercice 1.
1. Construire le DAG pour l'expression arithmétique suivante :
t = (a+b*c) +d*e-b*c +(a+b*c)/(b*c)+d*e
2. Générer à partir du DAG, les quadruplets permettant d'évaluer l'expression précédente
(avec optimisation du nombre de temporaires)
3. Générer le code machine correspondant à ces quadruplets en appliquant l'algorithme
vu en cours.
Trois registres R0, R1 et R2 sont disponibles. On dispose des codes opérations
suivants : MOV, ADD, SUB, DIV et MUL.

Exercice 2. On considère le code intermédiaire suivant :


t1 = b * c
t2 = a + t1
t3 = d + e
t4 = t3 – e
t5 = d + e
t6 = t5 * t4
t7 = t1 – t6
1. Générer le code machine correspondant à ces quadruplets en appliquant l'algorithme
vu en cours.
Deux registres R0 et R1 sont disponibles. On dispose des codes opérations suivants :
MOV, ADD, SUB, DIV et MUL.
2. Construire le DAG correspondant au code intermédiaire précédent.
3. Générer alors le code machine correspondant.
4. Comparer les codes machines obtenus ; commenter.

-1-

Vous aimerez peut-être aussi