Неоднозначность в грамматике - PullRequest
0 голосов
/ 26 марта 2020

Я изучаю неоднозначность в грамматике, и мне нужна небольшая помощь, чтобы лучше понять. Вот грамматика:

<S> ::= if <S> then <S>
<S> ::= if <S> then <S> else <S>
<S> ::= a

Используя дерево разбора или самый левый вывод, как я могу показать, что эта грамматика неоднозначна?

1 Ответ

1 голос
/ 15 апреля 2020

Рассмотрим следующее:

if a then if a then a else a

Вы можете сгруппировать его одним из следующих двух способов:

(if a then (if a then a else a))

или

(if a then (if a then a) else a)

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

...