Конъюнктивная грамматика
Конъюнктивные грамматики — это класс формальных грамматик. изучал формальную теорию языка .Они расширяют базовый тип грамматик,контекстно -свободные грамматики ,с операцией конъюнкции .Помимо явного союза,конъюнктивные грамматики допускают неявное дизъюнкцию представлено несколькими правилами для одного нетерминального символа,это единственная логическая связка, которую можно выразить в контекстно-свободных грамматиках.Союз может использоваться, в частности,указать пересечение языков.Дальнейшее расширение соединительных грамматик.известные как булевы грамматики дополнительно допускает явное отрицание .
Правила соединительной грамматики имеют вид
где является нетерминалом и , ..., представляют собой строки, состоящие из символов в и (конечные множества терминальных и нетерминальных символов соответственно).Неформально такое правило утверждает, что каждая строка над который удовлетворяет каждому из синтаксических условий, представленныхк , ..., следовательно, удовлетворяет условию, определенному .
Формальное определение
[ редактировать ]Соединительная грамматика определяется 4- кортежом где
- V — конечное множество; каждый элемент называется нетерминальным символом или переменной . Каждая переменная представляет отдельный тип фразы или предложения в предложении. Переменные также иногда называют синтаксическими категориями.
- Σ — конечное множество терминальных s, не пересекающихся с V , которые составляют фактическое содержание предложения. Набор терминалов представляет собой алфавит языка, определяемый G. грамматикой
- R — конечное множество продукций, каждая из которых имеет вид для некоторых в и . Члены R называются правилами или продуктами грамматики.
- S — начальная переменная (или начальный символ), используемая для представления всего предложения (или программы). Это должен быть элемент V .
Обычно все правые части одной и той же левой части перечисляются в одной строке, используя | ( символ трубы ), чтобы разделить их. Правила и следовательно, можно записать как .
Два эквивалентных формальных определенияязыка, определенного соединительной грамматикой, существуют.Одно определение основано на представлении грамматикикак система языковых уравнений с объединением, пересечением и конкатенациейи рассматривая его наименьшее решение.Другое определение обобщает Хомским. Генеративное определение контекстно-свободных грамматик, данное использование переписывания терминов вместо соединения и конкатенации.
Определение по выводу
[ редактировать ]Для любых строк , мы говорим, что u непосредственно дает v , записанный как , если
- либо есть правило такой, что и ,
- или существует строка такой, что и .
Для любой строки мы говорим, что G порождает w , записанное как , если такой, что .
Язык грамматики — это набор всех строк, которые он генерирует.
Пример
[ редактировать ]Грамматика , с постановками
- ,
- ,
- ,
- ,
- ,
является соединительным. Типичный вывод
Можно показать, что . Язык не является контекстно-свободным, что доказывает лемма о накачке для контекстно-свободных языков .
Алгоритмы разбора
[ редактировать ]Хотя выразительная сила соединительных грамматикбольше, чем у контекстно-свободных грамматик,соединительные грамматики сохраняют часть последних.Самое главное — существуют обобщения основных алгоритмов контекстно-свободного синтаксического анализа, в линейном времени включая рекурсивный спуск , кубического времени обобщенный LR ,кубическое время Кок-Касами-Младшего ,а также алгоритм Valiant, работающий так же быстро, как умножение матриц.
Теоретические свойства
[ редактировать ]Свойство, которое неразрешимо уже для контекстно-свободных языков или конечных их пересечений, должно быть неразрешимо и для конъюнктивных грамматик; к ним относятся: пустота , конечность , регулярность , бесконтекстность , [n 1] включение и эквивалентность. [n 2]
Семейство конъюнктивных языков замкнуто относительно объединения, пересечения, конкатенации и звезды Клини , но не относительно гомоморфизма строк , префикса , суффикса и подстроки.Замыкание при дополнении и гомоморфизме струн без ε все еще остаются открытыми проблемами (по состоянию на 2001 год). [1] : 533
Исследована выразительная сила грамматик над однобуквенным алфавитом. [ нужна ссылка ]
Эта работа послужила основойдля изучения языковых уравнений более общего вида.
Синхронизированные попеременные автоматы с опусканием вниз
[ редактировать ]Айзиковиц и Камински [2] представил новый класс автоматов с выталкиванием (PDA), названный синхронизированными автоматами с попеременным выталкиванием (SAPDA). Они доказали, что это эквивалентно конъюнктивным грамматикам точно так же, как недетерминированные КПК эквивалентны контекстно-свободным грамматикам.
Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ Александр Охотин (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). «Девять открытых задач по конъюнктивной и булевой грамматикам» . Бюллетень ЕАТКС . Архивировано из оригинала 29 сентября 2007 г.
- Александр Охотин (2013). «Соединительные и логические грамматики: истинный общий случай контекстно-свободных грамматик». Обзор компьютерных наук . 9 : 27–59. дои : 10.1016/j.cosrev.2013.06.001 .
Эта статья заменяет предыдущие обзоры «Обзор конъюнктивных грамматик» (Бюллетень EATCS, 2004 г.) и «Девять открытых задач для конъюнктивных и булевых грамматик».
- Еж, Артур (2008). «Соединительные грамматики порождают нерегулярные унарные языки». Международный журнал основ компьютерных наук . 19 (3): 597–615. дои : 10.1142/S012905410800584X . Версия технического отчета (pdf) [ постоянная мертвая ссылка ]