У меня есть следующая проблема. Эта грамматика неоднозначна:Сделать грамматику однозначной?
stmt -> if expr then stmt stmt '| a
stmt '-> else stmt | EPSILON
выраж -> б
Я попытался изменить его, и мой результат:
STMT -> если выражение затем STMT»» | a
stmt '' -> stmt | STMT»
STMT» -> B еще STMT
выраж -> б
Но это не создает тот же язык.
Может ли кто-нибудь помочь мне изменить двусмысленную грамматику, чтобы она была однозначной и принимала один и тот же язык?
Вы не определили B во второй грамматике. –