PUERTA | PUERTA CS 2010 | Pregunta 65 – Part 10

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

Cuestionario de esta pregunta

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *