Вопросы по теме 'lr1'

Парсер LR1 и Эпсилон
Я пытаюсь понять, как работают синтаксические анализаторы LR1, но столкнулся со странной проблемой: что, если грамматика содержит эпсилоны? Например: если у меня есть грамматика: S -> A A -> a A | B B -> a Понятно, как начать: S...
4918 просмотров
schedule 26.04.2023

Где я могу найти _простую_, легкую для понимания реализацию генератора парсеров LR(1)?
Где я могу найти простую (насколько это возможно, но не проще!) реализацию генератора парсеров LR(1)? Мне не нужна производительность, мне нужна только возможность генерировать состояния LR(1) (наборы элементов). Мне подошли бы C++, C#, Java и...
2739 просмотров
schedule 27.02.2023

Этот генератор парсера говорит, что эта грамматика не LR(1), но у меня есть сомнения
Я написал генератор синтаксического анализатора на Java, после нескольких ударов (ранняя версия, например, не особенно любила левую рекурсию), мне удалось заставить его работать с некоторыми простыми грамматиками (поэтому я могу вручную проверить...
95 просмотров
schedule 18.04.2022

Bison: конфликты shift-reduce, даже если директива %left %right
Я знаю, что большинство конфликтов сдвига/уменьшения можно разрешить с помощью директив %left или %right. Но даже при этом у меня возникают конфликты. Ниже приведен блок моей грамматики: expression: variable '=' expression |...
63 просмотров

Может ли грамматика быть проанализирована с помощью LL(1), но не с помощью LR(1)?
В качестве домашнего задания мне дали следующую грамматику: S: D D: AbBb | BaAb A: ε B: ε Я вычислил это с помощью LL (1) просто отлично. Первые наборы были: S: a, b D: a,b A: ε B: ε Были следующие наборы: S: $ D: $ A: b B:...
290 просмотров

Вычисление наборов FIRST & FOLLOW грамматики
У меня есть следующая грамматика: S -> aXab S -> Y X -> bYa X -> epsilon Y -> Sc Я вычислил первый и последующие наборы для этой грамматики, и я хотел бы знать, правильно ли это. Вот мое решение: First Sets: S -> {a} X...
38 просмотров
schedule 16.08.2022