Если мне дан CFG, посмотрев на него, я могу решить, является ли это классом грамматики LL или классом грамматики LR? Когда я искал этот вопрос в Google, что я получил, так это то, как работают парсеры для этих грамматик, но это не то, что я хочу. Будем очень благодарны любой помощи.Признание грамматик LL и LR ... НЕ парсер
ответ
Вы можете узнать, не является ли грамматика не LL, если она оставила рекурсию.
Пример:
S -> A | y
A -> Az
Я как раз собирался дать этот ответ :) –
Забавно, как быстро это было поддержано. : D –
Отсутствие левой рекурсии ** не ** условие, достаточное для того, чтобы грамматика была LL. Посмотрите определение LL в Википедии. Эта грамматика не LL: 'S -> aSa | ε'' – Apalala
прочитать также: [Как определить язык является ли LL (1) LR (0) зеркальные (1)] (http://stackoverflow.com/questions/475949/how- to-define-if-a-language-is-ll1-lr0-slr1) и [Как определить, является ли грамматика LL (1), LR (0) или SLR (1)?] (http: // stackoverflow. com/questions/8496642/how-to-ident-l-lr0-or-slr1) –