Рубрики

ВОРОТА | GATE CS 2010 | Вопрос 65

Грамматика S → aSa | BS | с
(A) LL (1), но не LR (1)
(B) LR (1), но не LR (1)
(C) LL (1) и LR (1)
(D) Ни LL (1), ни 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. 

Ниже приведены подробности.

Грамматика — это LL (1), если можно выбрать следующее производство, просматривая только следующий токен во входной строке.

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) = ∅ 

Источник: https://s3-ap-southeast-1.amazonaws.com/erbuc/files/4147_870334aa-9922-4f78-9c2c-713e7a7f0d53.pdf
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE CS 2010 | Вопрос 65

0.00 (0%) 0 votes