III. Transformation de la grammaire

III.1 Quel problème empêche de faire l'analyse descendante de gauche à droite en utilisant la grammaire G2?

III.2 Quel problème subsiste-t-il si on l'on modifie la première règle?

E               opUn E opA T      |  opUn T

opUn         '+' | ε. 

III.3 Réécrire la grammaire G2 pour résoudre ce problème en utilisant la récursivité droite. 
- Peut-on écrire un analyseur prédictif ? 
- Commentez l'ordre d'évaluation des priorités. 

III.4 La grammaire obtenue est-elle LL(1) ? 
Sinon, la réécrire pour qu'elle le soit. 
Donner les symboles directeurs de la grammaire (les premiers et les successeurs) pour chaque non terminal.

III.5 Que fait le programme précédent à la lecture de a+*b ? 
Comment modifier la grammaire pour que l'analyseur accepte ces expressions et continue après la rencontre d'une telle erreur syntaxique ? 
A quel moment de l'analyse signalera-t-on l'erreur ? 

III.6 Mêmes questions pour l'analyse de 1 a + b.  

III.7 Mêmes questions pour l'analyse de 1 ) + b. 


Last modified: Tuesday, 20 July 2021, 11:20 AM