Я немного смущен тем, как показать вывод чего-то заданного грамматики. Например, мне нужно показать вывод ((())) с использованием грамматики и начиная с S. Это грамматика: S =() | (S). Вот как выглядит мое решение до сих пор, S ->() -> (()) -> ((())). Я чувствую, что это совершенно неправильно, поэтому любое объяснение мне очень помогло бы. Я новичок в этой теме.Как вы показываете вывод строки с использованием грамматики?
ответ
Вы ничего не можете извлечь из(). Если вы хотите продолжить работу за пределами первого шага, там должен быть нетерминальный символ. Ваш единственный нетерминальный символ - S.
Таким образом, невозможно показать вывод ((())) из грамматики: S =() | (S)? – Coder123
Возможно. Учитывая, что вы не можете извлечь его из(), какова ваша другая возможность? –
(S) - другая возможность. Поэтому я бы начал следующим образом: S -> (S) -> ((S)) -> то что? Возможно, это S -> (S) -> ((S)) -> ((())) – Coder123
Покажите последовательность символов и то, что вы делаете на каждом шаге. Нет никакого производства, которое приведет вас от '()' to '(())' или оттуда в '((()))'. – user2357112