2013-08-21 3 views
0

Я занимаюсь экзаменационными вопросами для пересмотра экзамена. Один из вопросов состоит в том, чтобы построить таблицу анализа LL (1) из первого и последующих множеств, вычисленных в предыдущем вопросе.Может ли таблица анализа LL (1) быть действительной, если в ее ячейках есть столбец без записей?

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

Однако следующий вопрос заключается в преобразовании грамматику в действительный LL (1) грамматикой, очевидно, подразумевая, что это не LL (1)

Так что мой вопрос на самом деле 2 вопроса.

Является ли грамматика не грамматикой LL (1) из-за того, что есть столбец без каких-либо записей?

ИЛИ

Если это допустимо в LL (1) анализировать таблицу, это наиболее вероятно, что я не заладилось создание первого и последующих наборов?

Вот моя разработка вопроса и грамматика, которая находится в коробке http://imgur.com/UwmOAvX

+1

'' FIRST (D) '' должен включать '' x'', и вы должны включить столбец '' $ '' в таблицу LA. Но главная проблема заключается в том, что '' LA (D, z) '' '' 3'', но '' D-> 3'' не является произведением в грамматике. Кроме того, '' LA (F, z) '' должно быть '' 3''. Вы не раскрываете алгоритм вычисления FIRST, FOLLOW и LA, так что это вся помощь, которую я могу предоставить. – Apalala

ответ

1

Это совершенно нормально для колонки не имеют символов - это просто означает, что терминал идет речь, не в ПЕРВЫЙ набор любых нетерминальных, которые могут легко произойти для символов, которые нигде не отображаются в исходном контексте (например, ) часто будет таким символом.)

В вашем случае проблема оказывается что вы забыли поставить правило B -> B v в таблицу. У вас также есть ошибка в FIRST (D) и FOLLOW (B) - последнее происходит от первого.

+0

Отлично! По крайней мере, я это знаю сейчас. Я сделаю еще одну попытку на этот же вопрос завтра и посмотрю, как я пойду. большое спасибо – Ian