Je n'arrive pas à comprendre comment déterminer si la grammaire est LL (1) ou non. J'ai donné la grammaire suivante:Transformez la grammaire en LL (1), identifiez si c'est LL (1)
S → Y | 1X
X → 1X | 0
Y → Y0|1X1|2X2
Je déclare que cette grammaire n'est pas LL (1), car il Y0 reste récursive.
Alors je suis venu avec la solution suivante:
S → Y | 1X
X → 1X | 0
Y → 1X1F | 2X2F
F → ε | 0F
Mais je ne sais pas si cela est exact. Je pense toujours que j'ai dû manquer une règle comme l'affacturage de quelque sorte. Devrais-je prendre 1X et 2X dans une variable différente?
Merci de votre aide à l'avance. J'aimerais aussi savoir s'il existe des moyens plus simples de déterminer si la grammaire est LL (1) J'ai rencontré beaucoup de tables "first" et "follow", mais je n'ai pas réussi à en construire une moi-même.
Devrai-je factoriser 1X dans une autre variable comme ceci ?: 'S → Y | 1X X → Z | 0 Y → Z1F | 2X2F F → ε | 0F Z → 1X | ε' – AlenEviLL
@AlenEviLL: Cela résout-il le problème indiqué dans cette réponse? Vous devrez certainement faire un peu d'affacturage ... – rici
Aide s'il vous plaît je suis coincé, voir ma réponse, je vais même dans le bon sens? @rici – AlenEviLL