Я пытался найти «первый набор» этой контекстно-свободной грамматики. Я придумал 2 ответа, но я не уверен, что они верны. Я был бы признателен, если бы кто-нибудь мог объяснить, как создать первый набор этой грамматики.Как сгенерировать FIRST-набор этого контекстно-свободного грамматика
Оба ответа написаны по-разному, потому что источники, которые я прочитал, объяснили это разным синтаксисом.
Грамматика в вопросе:
E1 -> E2+E1|E2
E2 -> num*E2|num
Моего первый ответ:
| A -> α | FIRST(α) |
|:----------- |------------:|
| E1 -> E2+E1 | {num, num} |
| E1 -> E2 | {num, num} |
| E2 -> num*E2 | {num} |
| E2 -> num | {num} |
Моего второй ответ:
FIRST(E1) = {num}
FIRST(E2) = {num}
Я хочу поблагодарить вас заранее.
Для уточнения, правильная ли таблица «первый комплект»? @templatetypedef – fs2ly
@ReeLink Да! Это верно. – templatetypedef