КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Контекстно-свободные (КС) грамматики
Пример построения лексического анализатора Смотреть методические указания к практическому занятию «Последовательный лексический анализатор»
Неформальный пример. Язык палиндромов над алфавитом . Палиндром – строка, читаемая одинаково слева направо и справа налево. Рекурсивное определение языка палиндромов над алфавитом . Базис. палиндромы. Индукция. Если палиндром, то палиндромы. Ни одна цепочка не является палиндромом, если она не определяется этими базисом и индукцией.
КС грамматика – формальная запись подобных рекурсивных определений.
КС грамматика палиндромов над алфавитом : 1. Базис. 2. 3. 4. Индукция 5.
Определение. КС-грамматика - это четверка компонент: конечное множество переменных (нетерминалов). Каждая такая переменная представляет некоторое множество строк, т.е. некоторый язык. конечное множество символов, из которых состоят цепочки определяемого языка (терминальные символы, терминалы). начальный символ грамматики (стартовый символ). Эта переменная представляет язык, определяемый грамматикой. Другие переменные представляют вспомогательные языки, которые помогают определить язык, задаваемый начальным символом. конечное множество правил вывода (продукций), которые представляют рекурсивное определение языка. Каждая продукция состоит из нескольких частей:
Описанные четыре компонента образуют контекстно-свободную грамматику (КС-грамматику, КСГ). Будем представлять КСГ ее четырьмя компонентами в виде , где конечное множество переменных; конечное множество терминалов; конечное множество правил вывода; начальный символ грамматики.
Соглашение: КС-грамматика определяется перечислением ее правил, причем, первое правило определяет начальный символ грамматики.
Пример 1. КС-грамматика палиндромов Более короткая запись правил:
Пример 2. КС-грамматика выражений, состоящих из цифр и знаков «+» и «-». Поскольку знаки «+» и «-» должны быть расположены между двумя цифрами, такие выражения можно рассматривать как списки цифр, разделенных знаками «+» и «-».
Из этого списка правил следует, что ; ; перечислены выше; начальный символ грамматики.
Пример 3. Упрощенная КС-грамматика выражений типичного языка программирования. Ограничимся операторами «+» и «-», представляющими сложение и умножение. Разрешены идентификаторы, построенные из символов .
Из этого списка правил следует, что перечислены выше; начальный символ грамматики.
Дата добавления: 2013-12-14; Просмотров: 1238; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |