Важнейшие примеры грамматик
ФОРМАЛЬНЫЕ ГРАММАТИКИ И ЯЗЫКИ В литературе этот раздел информатики освящен по-разному (имеются монографии [11], [12] и др., а также главы в монографиях, например, [13], посвященные формальным грамматикам). Мы опишем иерархию Хомского и докажем ряд утверждений о рассматриваемых языках. В частности, будет изложено короткое (по сравнению с имеющимся в [11]) авторское доказательство неразрешимости проблемы грамматического разбора для грамматик типа 0. Также будет продемонстрирована связь между КС-языками и языками программирования высокого уровня. В заключение опишем класс так называемых аксиоматических грамматик, сочетающий в себе элементы исчислений.
ОСНОВНЫЕ ПОНЯТИЯ В дальнейшем конечные множества символов называются алфавитами, а их элементы – буквами. Конечная последовательность букв (из данного алфавита) называется словом (в данном алфавите). Пустое слово обозначается через ОПРЕДЕЛЕНИЕ 1. Порождающей грамматикой, или П-грамматикой, или грамматикой типа 0 называется упорядоченная четверка Пример 1. Согласимся, что С учетом этих соглашений грамматика Грамматика определяет язык рекурсивным образом. Рекурсивность проявляется в задании особого рода слов, называемых выводимыми словами грамматики.
ОПРЕДЕЛЕНИЕ 2. Индуктивное определение выводимых слов грамматики 1. J – выводимое слово этой грамматики. 2. Пример 2. Слова ОПРЕДЕЛЕНИЕ 3. Множество всевозможных слов из основных символов, выводимых в грамматике Пример 3.
Теперь определение языка, порождаемого грамматикой
Пример 4. Язык ОПРЕДЕЛЕНИЕ 5. П-грамматика Пример 5. Грамматика ОПРЕДЕЛЕНИЕ 6. П-грамматика Подчеркнем, что в каждом правиле Пример 6. а) Грамматика b) Грамматика ОПРЕДЕЛЕНИЕ 7. П-грамматика
В примере 4 грамматика есть А-грамматика. ОПРЕДЕЛЕНИЕ 8.Языки, порождаемые П-, НС-, КС-, и А-грамматиками называются соответственно П-, НС-, КС-, и А-языками. Автоматные, КС-, НС- и П-грамматики образуют иерархию Хомского порождающих грамматик. ВАЖНЕЙШИЕ ПРИМЕРЫ ГРАММАТИК Во всех приводимых ниже примерах основные символы (буквы из основного алфавита) будут обозначаться строчными латинскими буквами или арабскими цифрами; вспомогательные символы (буквы из вспомогательного алфавита – заглавными латинскими буквами (все эти буквы могут быть с индексами)). Начальный символ всегда будем обозначать буквой J. Это позволит нам ограничиться выписыванием только множества правил приводимых грамматик. Пример 1. а) Каждый непустой конечный язык b) Каждый непустой конечный язык с) Пустой язык СЛЕДСТВИЕ 1. Каждый конечный язык, не содержащий пустого слова Пример 2. Для каждого алфавита V язык Пример 3. Язык Пример 4. Языки
порождаются КС-грамматиками с множествами правил
соответственно. Если x и y – слова, то их умножением (или конкатенацией) называется слово xy, получаемое дописыванием к слову x справа слова y. Умножением языков
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|