Обобщения метода Бжозовского о производных регулярных выражений в грамматиках?

18

Метод производных Бжозовского - очень симпатичная техника для построения детерминированных автоматов из регулярных выражений хорошо алгебраическим способом. Я разработал несколько симпатичных обобщений этого метода для обработки некоторых более крупных классов грамматик, но алгоритмы достаточно просты, и кажется вполне вероятным, что они были обнаружены ранее. Но ссылки Google на потомков этой техники, похоже, не так уж и много. Кто-нибудь знает что-нибудь?

Нил Кришнасвами
источник
2
Мне очень любопытно, о каких классах грамматики вы думаете. Что касается потомков, то техника Антимирова, которая вместо этого создает недетерминированные автоматы, очень хороша: частные производные регулярных выражений и конструкции конечных автоматов , TCS 155 (2), 1996, ( dx.doi.org/10.1016/0304-3975(95 ) 00182-4 ).
Сильвен
Вы имеете в виду обобщения на более сложные языки, такие как обычные <context-free <context-Sensitive <...?
s8soj3o289
Я смотрел на подсистемы CFG примерно в окрестностях VPL, в основном.
Нил Кришнасвами
... но тогда множество производных не является конечным. И действительно, если вам нужно что-то детерминированное, как в случае метода Бжозовского, вы, вероятно, ограничены DCFL (поэтому я думаю, что это может иметь смысл для VPL).
Сильвен

Ответы:

7

В Total Parser Combinators (ICFP 2010) я использую производные Бжозовского, чтобы установить, что членство в языке разрешимо для определенного класса потенциально бесконечных грамматик.

Нильс Андерс Даниэльссон
источник
12

Вас может заинтересовать эта статья:

Як умер Мэттью Мейтом и Дэвидом Дарайсом, 2010

Мы представляем два новых подхода к анализу контекстно-свободных языков. Первый подход основан на расширении производной Бжозовского от регулярных выражений до контекстно-свободных грамматик. Второй подход основан на обобщении производной на комбинаторы синтаксического анализа. Результатом этих методов является небольшая (менее 250 строк кода), простая в реализации библиотека синтаксического анализа, способная анализировать произвольные контекстно-свободные грамматики в ленивых лесах анализа. Реализации для Scala и Haskell предоставляются. Предварительные эксперименты с S-выражениями анализировали миллионы токенов в секунду, что говорит о том, что этот метод достаточно эффективен для использования на практике.

Также потенциальный интерес:

Михаил Глушенков
источник
Очень смешное название статьи! :-)
Дай Ле
7

Еще в середине 80-х, когда я работал над анализаторами рекурсивного всплытия и факторинга грамматик, я начал с определения частных производных грамматик.

Там много хорошей теории.

У вас есть конкретные вопросы?

GHR
источник
Прямо сейчас я просто ловлю рыбу для связанной работы. Так как я думал в основном о парсерах рекурсивного спуска, я бы нашел приложения для разбора в стиле LR, как вы предлагаете, особенно интригующе. Можете ли вы указать мне на любую из ваших бумаг?
Нил Кришнасвами