Лекция
Привет, Вы узнаете о том , что такое контекстно-свободная грамматика, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое контекстно-свободная грамматика, кс-грамматика, бесконтекстная грамматика , настоятельно рекомендую прочитать все из категории ОСНОВЫ НАУЧНЫХ ИССЛЕДОВАНИЙ и организация научно-исследовательской деятельности.
контекстно-свободная грамматика ( кс-грамматика , бесконтекстная грамматика ) — частный случай формальной грамматики (тип 2 по иерархии Хомского), у которой левые части всех продукций являются одиночными нетерминалами (объектами, обозначающими какую-либо сущность языка (например: формула, арифметическое выражение, команда) и не имеющими конкретного символьного значения). Смысл термина «контекстно-свободная» заключается в том, что есть возможность применить продукцию к нетерминалу, причем независимо от контекста этого нетерминала (в отличие от общего случая неограниченной грамматики Хомского).
Язык, который может быть задан КС-грамматикой, называется контекстно-свободным языком или КС-языком.
По сути КС-грамматика — другая форма БНФ.
КС-грамматики находят большое применение в информатике. Ими задается грамматическая структура большинства языков программирования, структурированных данных и т. д. (см. грамматический анализ)
Для разбора КС-грамматики достаточно автомата с магазинной памятью, для разбора не-КС-грамматик может потребоваться полная машина Тьюринга.
Существуют два разных класса распознавателей, их названия связаны с порядком построения дерева вывода. Как правило, все распознаватели читают входную цепочку символов слева направо, поскольку предполагается такая нотация в написании исходного текста программ.
Нисходящие распознаватели, которые порождают цепочки левостороннего вывода и строят дерево вывода сверху вниз.
Восходящие распознаватели, которые порождают цепочки правостороннего вывода и строят дерево вывода снизу вверх.
Восходящие распознаватели используют модификации алгоритма «сдвиг-свертка» (или «перенос-свертка», что то же самое). Об этом говорит сайт https://intellect.icu . При их создании применяются методы, которые позволяют однозначно выбрать между выполнением «сдвига» («переноса») или «свертки» на каждом шаге работы расширенного МП-автомата, а при выполнении свертки однозначно выбрать правило, по которому будет производиться свертка. Алгоритм «сдвиг-свертка».
Примеры КС-грамматик и соответствующих им КС-языков:
Задается формулой
Этой грамматикой задается язык вложенных скобок .
<выражение> → <выражение> + <слагаемое>, <выражение> → <выражение> - <слагаемое>, <выражение> → <слагаемое>, <слагаемое> → <слагаемое> * <множитель>, <слагаемое> → <слагаемое> / <множитель>, <слагаемое> → <множитель>, <множитель> → ( <выражение> ), <множитель> → x,
Этой грамматикой задается арифметическое выражение, содержащее простейшие арифметические действия над переменной x. Если заменить терминал 'x' на нетерминал <число>, то получится грамматика, задающая арифметическое выражение, состоящее из операций сложения, вычитания, умножения и деления над целыми числами.
Грамматика сложения деревьев обобщает контекстно-свободную грамматику тем, что элементарной единицей в правилах вывода являются деревья, а не отдельные символы.
Комментарии
Оставить комментарий
Основы научных исследований и организация научно-исследовательской деятельности
Термины: Основы научных исследований и организация научно-исследовательской деятельности