Académique Documents
Professionnel Documents
Culture Documents
TD 4
Exercice 1.
Soit la grammaire G suivante :
G = ( {INST, COND, EXP}, {id, nb , oprel , opaff , oparith , ; , ( , ) , if, then, endif} , INST , P ),
où P est formé des productions suivantes :
INST if (COND) then INST endif; | id opaff EXP;
EXP EXP oparith EXP | id |nb
COND EXP oprel EXP
1) Décrire informellement ce que représente L(G).
2) Donner le résultat de l’analyse lexicale de l’instruction suivante : if (a > 10) then a := a + b ;
endif ;
Construire la table des unités lexicales et la table des symboles.
3) Montrer que la grammaire G génère l’instruction donnée en 2) (résultat de l’analyse
syntaxique).
Exercice 2.
Considérons la grammaire ayant les règles de production suivantes :
S (L) | a
LL,S|S
1) Eliminer la récursivité à gauche.
2) Construire un analyseur prédictif récursif pour cette grammaire.
3) Expliciter le comportement de l’analyseur sur les mots suivants :
(a, a)
(a, (a, a))
(a, ((a, a), (a, a))
Exercice 3.
Construire un analyseur prédictif pour la grammaire suivante :
R R/R | R.R |R*| (R) |a|b
Exercice 4.
Soit une grammaire G ayant les règles de production suivantes :
S iEtSS’ | a
S’ cS |
E b
Vérifier si la grammaire G est une grammaire LL(1) (calcul des premiers et suivants et
construction de la table d’analyse).
Exercice 5.
Soit une grammaire G ayant les règles de production suivantes :
I id := E | id := E;
E id E’ | nb E’| (E)E’
E’ + EE’ | * EE’ |
Effectuer les actions d'analyse syntaxique prédictive non récursive des mots: id := id + (id * nb)
et id := id + (id*)