Как показать, что грамматика неоднозначна?

Оглавление:

Как показать, что грамматика неоднозначна?
Как показать, что грамматика неоднозначна?
Anonim

"Если грамматика создает по крайней мере 2 различных дерева синтаксического анализа или деривации, то грамматика неоднозначна." Еще одно правило: все CFG (без бесполезных символов) с леворекурсивностью и праворекурсивностью для одного и того же нетерминала тоже неоднозначны.

Как узнать, неоднозначна ли грамматика?

Грамматика называется неоднозначной, если существует более одного крайнего левого производного, или более одного крайнего правого производного, или более одного дерева синтаксического анализа для заданной входной строки. Если грамматика не является неоднозначной, то она называется однозначной. Если грамматика имеет неоднозначность, то она не годится для построения компилятора.

Что такое неоднозначная грамматика, приведите пример?

В информатике неоднозначная грамматика - это контекстно-свободная грамматика, для которой существует строка, которая может иметь более одного крайнего левого вывода или дерева синтаксического анализа, в то время как однозначная грамматика является контекстно-свободной грамматикой, для которой каждая допустимая строка имеет уникальное крайнее слева дерево вывода или разбора.

Как вы доказываете, что контекстно-свободная грамматика неоднозначна?

3 ответа

  1. Все CFG без бесполезных символов и с левой и правой рекурсией для одного и того же символа неоднозначны. В общем: …
  2. Чтобы проверить неоднозначность, вы должны найти 2 крайних левых производных для одной и той же строки (или 2 крайних правых производных, или 2 дерева производных).

Как вы решаете неоднозначную грамматику?

Методы устранения двусмысленности-

  1. Исправляя грамматику.
  2. Добавляя правила группировки.
  3. Используя семантику и выбирая синтаксический анализ, который имеет наибольший смысл.
  4. Добавляя правила приоритета или другие контекстно-зависимые правила синтаксического анализа.

Рекомендуемые:

Интересные статьи
Должны ли столбы забора бетонироваться?
Подробнее

Должны ли столбы забора бетонироваться?

Установка столбов забора в бетон Бетон является наиболее безопасным материалом для установки столбов забора, особенно если у вас песчаная почва. Гравий может подойти для плотной, тяжелой глинистой почвы, но в более рыхлой почве бетон - единственное, что действительно удержит ваши столбы забора на месте.

Is остается глаголом-связкой?
Подробнее

Is остается глаголом-связкой?

ГРАММАТИКА: Глаголы-связкиRemain в этом значении являются связывающим глаголом. Этот тип глагола связывает подлежащее в предложении с прилагательным или существительным: Он остается в нерешительности относительно того, что делать. Пробки на дорогах остаются проблемой.

Мотель Бейтса страшный?
Подробнее

Мотель Бейтса страшный?

Мотель Бейтса работает как приквел к классическому фильму ужасов, и он такой же пугающий, как и фильм. Это очень психологический, почти триллерный сериал, которому требуется время, чтобы Норман полностью принял свою реальность. Однако страшные моменты, которые возникают по пути, просто ужасают.