Partie 1 -------- Q1. Dir(Z -> F#) = {i, (} Dir(F->i) = {i} Dir(F->(iF)) = {(} Pas de conflit, G0 est LL(1) Q2. chaine derivation (i (i i))# Z (i (i i))# (iF)# i (i i))# iF)# (i i))# F)# (i i))# (iF))# i i))# iF))# i))# F))# i))# i))# ))# ))# )# )# # # Q3. voir le fichier Q3.pdf Partie 2 --------- Q4. Dir (F -> i) = Dir (F -> i F) = {i} Il y a un conflit LL(1) On transforme en factorisant, on obtient G'1 : Z -> F # F -> i F' F -> ( i F ) F' -> epsilon F' -> F Dir (F' -> epsilon) = {#, )} Dir (F' -> F) = {i, (} Pas de conflit, G'1 est LL(1) Q5. L'automate LR(0) complet est donné dans le fichier Q5.pdf Il y a un seul conflit LR(0), de type shift/reduce, dans l'état 3. Ce n'est pas un conflit SLR(1) car Suivant(F) = {#, )} La grammaire G1 est donc SLR(1). Partie 3 --------- Q6. G est ambiguë car la phrase "i i i #" admet 2 arbres de dérivation.