Если мне дали CFG, посмотрев на него, могу ли я решить, относится ли это к LL-классу грамматики или к LR-классу грамматики? Когда я искал этот вопрос в Google, я получил информацию о том, как работают парсеры для этих грамматик, но это не то, чего я хочу. Будем очень благодарны любой помощи.
Распознавание грамматик LL и LR НЕ анализатора
comment
прочитайте это также: Как определить, является ли язык LL (1) LR(0) SLR(1) и Как определить, является ли грамматика LL(1), LR(0) или SLR(1)?
- person Grijesh Chauhan   schedule 20.05.2013
Ответы (1)
Вы можете распознать, что грамматика не является LL, если она оставила рекурсию.
Пример:
S -> A | y
A -> Az
person
Samy Dindane
schedule
20.05.2013
Я как раз собирался дать этот ответ :)
- person Grijesh Chauhan; 20.05.2013
Забавно, как быстро за него проголосовали. :D
- person Samy Dindane; 20.05.2013
Отсутствие левой рекурсии не является достаточным условием для того, чтобы грамматика была LL. Найдите определение LL в Википедии. Эта грамматика не является LL:
S -> aSa | ε
- person Apalala; 20.05.2013
@Apalala Прочитайте хорошо то, что я написал. Я не говорил, что любая грамматика без левой рекурсии является LL, но я сказал если она леворекурсивная, это не LL.
- person Samy Dindane; 21.05.2013
@ Сэми Ты прав. Пожалуйста, внесите незначительные изменения в свой ответ, чтобы я мог удалить отрицательный голос.
- person Apalala; 21.05.2013
@ Samy Ты этого не сделал, отредактируй свой ответ, чтобы я мог удалить отрицательный голос. Однако помните, что удаление левой рекурсии — это механический процесс, и поэтому левая рекурсия не является первичным критерием LL-ности.
- person Apalala; 21.05.2013
@Apalala Ответ отредактирован. — Что может быть еще критерием ЛЛ-ности?
- person Samy Dindane; 21.05.2013