Грамматика с фразовой структурой
Содержание |
[править] Языки и грамматики. Основные понятия
Назначение языков и грамматик заключается в:
- Разработке алгоритмических языков
- Разработке специальных языков для описания явлений
- Применяется в компьютерной криптографии
Буква(символ) в простой неделимый знак.
Алфавит в множество букв (символов) A={a, b, c}. Если есть два алфавита A и B(подмножество множества A), говорят, что алфавит B является подалфавитом A, а A в свою очередь в надалфавитом.
Конкатенация в операция слияния символов в языке. Эта операция, по отношению к алгебраическим структурам, представляет собой полугруппу или моноид.
Слово(строка) в упорядоченная совокупность букв в алфавите. Множество всех строк(включая пустую), которые могут быть построены из символов алфавита A, называется замыканием A, и обозначается A*. Положительное замыкание A(обозначается A+) в множество A*\{e}, то есть множество всех строк, которые могут быть построены из символов алфавита A, за исключением пустой строки.
Язык в в общем случае, совокупность слов или предложений, сформированных набором правил и ограничений.
[править] Подъязык (расширение) языка
Любой язык в общем случае можно трактовать в 3-х срезах, как:
- Совокупность букв, слов (предложений) вместе с наложенными на них ограничивающими правилами в синтаксическое рассмотрение (синтаксис).
- Интерпретация предложений на предмет «понимания» предложений, то есть распознавания связей, в том числе логических, между предложением и соответствующим явлением жизни в семантическое рассмотрение (семантика).
- Практическое воздействие языка в есть прагматизм.
[править] Грамматики
Грамматики в наиболее распространённый класс описаний языков. Описание грамматики языка начинается с определения алфавита, набора терминальных символов из которых состоит язык. После создания алфавита, необходимо определить набор ограничивающих правил, те правила по которым будут строиться слова и предложения в языке, вида αβ. В левой и правой частях этих выражений могут содержаться специальные нетерминальные символы. В процессе вывода нетерминальные символы заменяются соответствующими терминальными, до полной их замены, с помощью соответствующих правил. Каждая грамматика должна содержать начальный символ или аксиому с которой и начинается любое слово или предложение языка.
[править] Грамматика с фазовой структурой
Грамматика с фазовой структурой в алгебраическая структура, состоящая из упорядоченной четвёрки G=(N, T, P, S) и определёной на ней неявно операцией конкатенации.
- N в конечное множество нетерминальных символов
- T в не пересекающееся с N конечное множество терминальных символов
- P в набор ограничивающих правил (продукций)
- S в стартовый (начальный символ)
Пример Грамматикой, порождающей язык {0n1n | nв‰0}, является G: G= ({S}, {0,1}, P, S), где P = {S0S1, Sε}.
Понятие выводимости: Если αβγ последовательный набор символов языка G, а βδ правило этого языка, то αβγ=>αδγ (αδγ непосредственно выводима из αβγ в G).
Цепь в последовательное присваивание нетерминальных символов. Цикл в замкнутая цепь
x (x в€€ N) в недоступный символ, если x неэквивалентен стартовому символу S (x в‰ S) и не существует выводов типа S+αxβ. Символ называется непродуктивным, если не существует строки γ, такой, что нетерминальный символ не будет присвоен γ (xγ) Символ называется бесполезным если он непродуктивен или недоступен.
[править] Список литературы
- Ахо, Дж. Ульман «Теория синтаксического анализа, перевода и компиляции», Т.1 «Синтаксический анализ», М.: Мир, 1978
- Р. Хантер «Проектирование и конструирование компиляторов», ФиС, 1984
