• Aucun résultat trouvé

Cours de Compilation - Test de connaissances

N/A
N/A
Protected

Academic year: 2022

Partager "Cours de Compilation - Test de connaissances"

Copied!
1
0
0

Texte intégral

(1)

Cours de Compilation - Test de connaissances

Master d’Informatique M1 2011–2012 29 septembre 2011

Nom : . . . Pr´enom : . . . .

On se donne la grammaire suivante dont on num´erote les r`egles:

(1) E ::= E E (2) E ::= E + E (3) E ::= E * E (4) E ::= (E) (5) E ::= cte (6) E ::= id 1. Cette grammaire est-elle ambig¨ue ?

Correction : Oui, deux interpr´etations de (cte * cte + cte)

2. L’application f e a une pr´ec´edence plus forte que celle de la multiplication * qui a elle-mˆeme une pr´ec´edence plus forte que l’addition +.

Soit l’expression:

id cte + cte * id

(a) Donner une expression ´equivalente compl`etement parenth´es´ee.

Correction : (id cte) + (cte * id)

(b) Donner l’arbre de d´erivation syntaxique correspondant (sans les parenth`eses).

(c) Compl´eter les ´etapes de l’analyse ascendante en respectant les pr´ec´edences. Choisir `a chaque ´etape entre lecture ou r´eduction et donner l’´etat de la pile. Indiquer `a quelles

´

etapes il serait possible `a la fois de r´eduire et de lire.

Correction :

pile entr´ee action

id cte + cte * id lecture

id cte + cte * id r´eduction E ::= id

E ” lecture

E cte + cte * id r´eduction (5)

E E ” r´eduction (1) conflit

E ” lecture - lecture

E + cte * id r´eduction (5)

E + E ” lecture - lecture conflit

E + E * id r´eduction (6)

E + E * E r´eduction (3)

E + E r´eduction (2)

E succ`es

Références

Documents relatifs

Correction : oui, deux mani` eres d’interpr´ eter true || false && true3. Donner la suite de tokens associ´ ee

[r]

Compl´ eter la grammaire avec le choix de pr´ ec´ edence sur les terminaux pour supprimer les conflits dans

Si l’une des famille ci-dessus est libre mais n’est pas une base de R 3 , la compl´ eter en une base de R 3.. D´ eterminer une base et

[r]

Sauvegarder votre script R : En activant la fenˆ etre qui le contient (celle du haut ` a gauche : le curseur doit clignoter en noir) puis en allant de nouveau dans la barre de menu

` A cet effet, on utilise le lemme des sous-sous-suites suivant (qui se d´emontre ais´ement en raisonnant par l’absurde), et qui parfois de bien pr´ecieux services :.. Lemme

Diff Diff Diff Diff Diff Difféééé Diff Diff éééérence de vitesse des traitement entre rence de vitesse des traitement entre rence de vitesse des traitement entre rence de