Конъюнктивная грамматика - Conjunctive grammar
Конъюнктивные грамматики класс формальной грамматики, изучаемый в формальный язык Они расширяют базовый тип грамматики, контекстно-свободные грамматики, с соединение Помимо явного соединения, конъюнктивные грамматики допускают неявное дизъюнкция представлен несколькими правилами для одного нетерминального символа, который является единственной логической связкой, выражаемой в контекстно-свободных грамматиках. Соединение может использоваться, в частности, для определения пересечения языков. Дальнейшее расширение конъюнктивных грамматик, известное как Булевы грамматики дополнительно допускает явное отрицание.
Правила конъюнктивной грамматики имеют вид
куда нетерминал и, ..., строки, состоящие из символов в и (конечные наборы терминальные и нетерминальные символы соответственно). Формально такое правило утверждает, что каждая строка над который удовлетворяет каждому из синтаксических условий, представленных , ..., поэтому удовлетворяет условию, определенному .
Формальное определение
Конъюнктивная грамматика определяется 4-кортеж куда
- V - конечное множество; каждый элемент называется нетерминальный символ или Переменная. Каждая переменная представляет отдельный тип фразы или предложения в предложении. Переменные также иногда называют синтаксическими категориями.
- Σ конечный набор Терминалs, не пересекается с V, которые составляют фактическое содержание предложения. Набор терминалов - это алфавит языка, определенный грамматикой грамм.
- р - конечное множество продукций, каждая из которых имеет вид для некоторых в и . Члены р называются правилоs или производствоs грамматики.
- S - это начальная переменная (или начальный символ), используемая для представления всего предложения (или программы). Это должен быть элемент V.
Обычно перечисляют все правые части одной и той же левой части в одной строке, используя | (в символ трубы ), чтобы разделить их. Правила и следовательно, можно записать как .
Существуют два эквивалентных формальных определения языка, заданных конъюнктивной грамматикой, одно из которых основано на представлении грамматик как системы языковые уравнения с объединением, пересечением и конкатенацией и рассматривая его наименьшее решение. Другое определение обобщаетХомского генеративное определение контекстно-свободных грамматик с использованием переписывания терминов вместо соединения и конкатенации.
Определение по происхождению
Для любых струн , мы говорим ты непосредственно дает v, записанный как , если
- либо есть правило такой, что и ,
- или существует строка такой, что и .
Для любой строки мы говорим грамм генерирует ш, записанный как , если такой, что .
Язык грамматики - это набор всех генерируемых им строк.
Пример
Грамматика , с постановками
- ,
- ,
- ,
- ,
- ,
конъюнктивно. Типичный вывод:
Можно показать, что . Язык не является контекстно-зависимым, что доказано лемма о прокачке для контекстно-свободных языков.
Алгоритмы парсинга
Хотя выразительная сила конъюнктивных грамматик больше, чем у контекстно-свободных грамматик, конъюнктивные грамматики сохраняют некоторые из последних. Что наиболее важно, существуют обобщения основных алгоритмов контекстно-свободного синтаксического анализа, включая линейно-временные. рекурсивный спуск, кубическое время обобщенный LR кубическое время Петух-Касами-младший,а также Доблестный алгоритм работает так же быстро, как умножение матриц.
Теоретические свойства
Свойство, которое неразрешимо уже для контекстно-свободных языков или их конечных пересечений, должно быть неразрешимым и для конъюнктивных грамматик; к ним относятся: пустота, конечность, регулярность, контекстная свобода,[n 1] включение и эквивалентность.[n 2]
Семейство конъюнктивных языков замкнуто относительно объединения, пересечения, конкатенация и Клини звезда, но не под гомоморфизм струн, префикс, суффикс и подстрока. Замыкание при дополнении и при гомоморфизме строк без ε все еще остаются открытыми проблемами (по состоянию на 2001 г.).[1]:533
Исследована выразительная сила грамматики над однобуквенным алфавитом.[нужна цитата ]
Эта работа послужила основой для изучения языковые уравнения более общего вида.
Синхронизированные чередующиеся автоматические выталкиватели
Айзиковиц и Камински[2] представил новый класс выталкивающие автоматы (КПК) называется синхронизированные автоматы с попеременным опусканием (САПДА). Они доказали, что он эквивалентен конъюнктивным грамматикам точно так же, как недетерминированные КПК эквивалентны контекстно-свободным грамматикам.
Примечания
Рекомендации
- ^ Александр Охотин (2001). "Конъюнктивные грамматики" (PDF). Журнал автоматов, языков и комбинаторики. 6 (4): 519–535.
- ^ Айзиковиц, Тамар; Камински, Майкл (2011). "LR (0) Конъюнктивные грамматики и детерминированные синхронизированные чередующиеся автоматы выталкивания вниз". Компьютерные науки - теория и приложения. Конспект лекций по информатике. 6651. С. 345–358. Дои:10.1007/978-3-642-20712-9_27. ISBN 978-3-642-20711-2. ISSN 0302-9743.
внешняя ссылка
- Артур Дже (2007). «Конъюнктивные грамматики порождают нерегулярные унарные языки» (PDF) (Слайды выступления на Международная конференция по развитию теории языка ). Получено 5 ноября 2019.
- "Страница Александра Охотина о конъюнктивных грамматиках". 9 октября 2011 г.. Получено 5 ноября 2019.
- Александр Охотин (2007). «Девять открытых задач для конъюнктивных и булевых грамматик». Бюллетень EATCS. Архивировано из оригинал 29 сентября 2007 г.
- Александр Охотин (2013). «Конъюнктивная и логическая грамматики: истинный общий случай контекстно-свободных грамматик». Обзор компьютерных наук. 9: 27–59. Дои:10.1016 / j.cosrev.2013.06.001.
Эта статья заменяет более ранние обзоры «Обзор конъюнктивных грамматик» (Бюллетень EATCS, 2004) и «Девять открытых проблем для конъюнктивных и булевых грамматик»
- Jeż, Артур (2008). «Конъюнктивные грамматики порождают нерегулярные унарные языки». Международный журнал основ информатики. 19 (3): 597–615. Дои:10.1142 / S012905410800584X. Версия технического отчета (pdf)[постоянная мертвая ссылка ]