Durée : 01h 30min
Epreuve de Moyenne Durée
Exercice 1 (6 points)
1. Sur un schéma expliquer les différentes phases et étapes du processus de compilation et expliquer
brièvement chaque étape.
2. Quel est le rôle de la traduction dirigé par la syntaxe ?
3. Qu’est-ce qu’une DDS ? Combien de types de DDS existe il ? Donnez un exemple.
4. Quelle sont les types de grammaires associés à une DDS ?
5. Qu’est-ce qu’une Forme intermédiaire ? Donnez un exemple
Exercice 2 (8 points)
On désire développer un évaluateur d’expressions qui peuvent être parenthèses. Les opérations
permises sont
+, -, * et /. Les opérandes peuvent être des nombres ou le résultat de la fonction MEDIANE. La
fonction MEDIANE a pour entrer une série de nombres et retourne la valeur de l’élément médian si le
nombre d’argument est impair ou la moyenne des deux éléments médians si le nombre d’arguments est
pair (Exemples : MEDIANE (2 ; 8 ;90 ;6 ;4) retourne la valeur 6 ; MEDIANE (100 ;1 ; 2 ;90 ;6 ;4)
retourne la valeur 5).
Exemples de valeurs retournées par votre évaluateur :
Expression
Valeur retournée
6+MEDIANE(2;8;90;6;4)*2
18
MEDIANE(50+50;1;2;45*2;6;4)+5*3
20
1- Donnez le schéma de traduction ascendant pour évaluer une expression. Utiliser obligatoirement les
attributs
associés aux symboles de la grammaire.
2- Donner l’arbre décoré correspondant à l’expression : MEDIANE(50+50;1;2;45*2;6;4)+5*3.
Exercice 3 (6 points)
1. Traduire en quadruplet, triplet direct, triplet indirect, et arbre syntaxique à 3 adresses l’expression suivante :
a+b*c-d/(b*c)
2. Traduire en quadruplet la portion du programme C suivante :
Switch (x = y*2)
{Case 0 : y = 1; break;
Case 1 : y=2*x+1; break;
Case 2 : z= 8; break ;
Default : z=0 ; } ;
1 / 1 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !