Я не могу понять, как определить, является ли грамматика LL (1) или нет. Я получил следующую грамматику:Преобразование грамматики в LL (1), определить, является ли это LL (1)
S → Y | 1X
X → 1X | 0
Y → Y0|1X1|2X2
Я сказал, что эта грамматика не LL (1), потому что Y0 остается рекурсивным.
Так что я придумал следующее решение:
S → Y | 1X
X → 1X | 0
Y → 1X1F | 2X2F
F → ε | 0F
Но все же я не уверен, что это правильно. Я все еще думаю, что, должно быть, я пропустил какое-то правило, подобное факторингу. Должен ли я взять 1X и 2X в другую переменную?
Благодарим за помощь. Я также хотел бы знать, есть ли более простые способы определить, является ли грамматика LL (1). Я столкнулся с множеством «первых» и «последующих» таблиц, но на самом деле им не удалось создать ее самостоятельно.
Должен ли я включить 1X в другую переменную следующим образом ?: 'S → Y | 1X X → Z | 0 Y → Z1F | 2X2F F → ε | 0F Z → 1X | ε' – AlenEviLL
@AlenEviLL: Это касается проблемы, указанной в этом ответе? Вам обязательно нужно будет сделать некоторые факторинги ... – rici
Помогите, пожалуйста, я застрял, см. Мой ответ, я даже иду по правильному пути? @rici – AlenEviLL