La gramática S → aSa | bS | c es
(A) LL(1) pero no LR(1)
(B) LR(1)pero no LR(1)
(C) Tanto LL(1) como LR(1)
(D) Ni LL(1)ni LR(1)
Respuesta: (C)
Explicación:
First(aSa) = a First(bS) = b First(c) = c All are mutually disjoint i.e no common terminal between them, the given grammar is LL(1). As the grammar is LL(1) so it will also be LR(1) as LR parsers are more powerful then LL(1) parsers. and all LL(1) grammar are also LR(1) So option C is correct.
A continuación hay más detalles.
Una gramática es LL(1) si es posible elegir la siguiente producción mirando solo el siguiente token en la string de entrada.
Formally, grammar G is LL(1) if and only if For all productions A → α1 | α2 | ... | αn, First(αi) ∩ First(αj) = ∅, 1 ≤ i,j ≤ n, i ≠ j. For every non-terminal A such that First(A) contains ε, First(A) ∩ Follow(A) = ∅
Fuente: https://s3-ap-southeast-1.amazonaws.com/erbuc/files/4147_870334aa-9922-4f78-9c2c-713e7a7f0d53.pdf
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA