• 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

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

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

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

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

[r]