Я пытаюсь создать рекурсивный приличный парсер с возвратом.Вот моя грамматика:
Re -> Sq | Sq + Re
Sq -> Ba | Ba Sq
Ba -> El | Ba*
El -> lower-or-digit | (Re)
После многих попыток у меня возникли проблемы с производством Sq-> Ba | BaSq И здесь я получаю бесконечную рекурсию.Таким образом, возможное решение, которое я нашел для этого, это оставить факторинг грамматики.
Моя проблема в том, что производственный процесс, который я хочу оставить, кажется, не соответствует ни одному из найденных примеров.Как я могу оставить фактор грамматики?Или я могу использовать другую технику?