The grammar S → aSa | bS | c is
(A) LL(1) but not LR(1)
(B) LR(1)but not LR(1)
(C) Both LL(1)and LR(1)
(D) Neither LL(1)nor LR(1)
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.
Below are more details.
A grammar is LL(1) if it is possible to choose the next production by looking at only the next token in the input string.
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) = ∅
- GATE | GATE-CS-2003 | Question 56
- GATE | GATE-CS-2004 | Question 45
- GATE | GATE-CS-2005 | Question 14
- GATE | GATE-CS-2006 | Question 59
- GATE | GATE-CS-2014-(Set-1) | Question 44
- GATE | GATE-CS-2007 | Question 52
- GATE | GATE-CS-2007 | Question 18
- GATE | GATE CS 2008 | Question 55
- GATE | GATE-CS-2009 | Question 42
- GATE | GATE-CS-2009 | Question 17
- GATE | GATE CS 2010 | Question 27
- GATE | GATE CS 2011 | Question 19
- GATE | GATE CS 2012 | Question 34
- How to prepare for GATE CSE - 2019
- GATE CSE Test Series - 2019 | Sudo GATE