Вы находитесь на странице: 1из 12

Классификация

формальных
грамматик
работу выполнила
студентка 3 курса 4 группы
Белоусова Валерия
Формальная грамматика

— способ описания формального языка, то есть выделения


некоторого подмножества из множества всех слов некоторого
конечного алфавита (множества символов).
Виды грамматик

Введённые в лингвистику американским ученым Н. Хомским,


формальные грамматики представляют собой средство строгого
описания естественных языков.

Теория формальных грамматик составляет важный раздел


математической лингвистики, в рамках которой выделяют
порождающие и распознающие грамматики — первые задают
правила, с помощью которых можно построить любое слово языка,
а вторые позволяют по данному слову определить, входит оно в
язык или нет.
Термины
Терминал (терминальный символ) — объект, непосредственно
присутствующий в словах языка, соответствующего грамматике, и
имеющий конкретное, неизменяемое значение (обобщение понятия
«буквы»). В формальных языках, используемых на компьютере, в
качестве терминалов обычно берут все или часть стандартных символов
ASCII — латинские буквы, цифры и спецсимволы.

Нетерминал (нетерминальный символ) — объект, обозначающий


какую-либо сущность языка (например: формула, арифметическое
выражение, команда) и не имеющий конкретного символьного значения.
Назначение

Назначение грамматики — задание языка. Это задание


обязательно должно быть конечным, иначе человек не будет в
состоянии эту грамматику понять. Но каким образом,
конечное задание описывает бесконечные совокупности ? Это
возможно только в том случае, если строение всех цепочек
языка основано на единых принципах, которые являются
конечным числом.
С алгоритмической точки зрения грамматики можно
подразделить по способу задания языка.

Имеются три основных таких способа (вида


грамматик):

● Распознающие грамматики,

● Порождающие грамматики,

● Перечисляющие грамматики.
Распознающие грамматики

Такие грамматики представляют собой устройства


(алгоритмы), которым на вход подается цепочка языка, а на
выходе устройство печатает «Да», если цепочка принадлежит
языку, и «Нет» — в противном случае.
Порождающие грамматики

Этот вид устройств используется для порождения цепочек


языков по требованию. Образно говоря, при нажатии кнопки
будет сгенерирована некоторая цепочка языка.
Перечисляющие грамматики

Такие грамматики печатают одну за другой все цепочки


языка. Очевидно, что если язык состоит из бесконечного
числа цепочек, то процесс перечисления никогда не
остановится. Хотя, конечно его можно остановить
принудительно в нужный момент времени, например , когда
будет напечатана нужная цепочка.
Типы грамматик
По иерархии Хомского, грамматики делятся на 4 типа, каждый последующий
является более ограниченным подмножеством предыдущего:
● тип 0. неограниченные грамматики — возможны любые правила.
● тип 1. контекстно-зависимые грамматики — левая часть может
содержать один нетерминал, окруженный «контекстом»
(последовательности символов, в том же виде присутствующие в
правой части); сам нетерминал заменяется не пустой
последовательностью символов в правой части.
● тип 2. контекстно-свободные грамматики — левая часть состоит из
одного нетерминала.
● тип 3. регулярные грамматики — более простые, эквивалентны
конечным автоматам.
Применение

Контекстно-свободные грамматики широко применяются


для определения грамматической структуры в
грамматическом анализе.

Регулярные грамматики (в виде регулярных выражений)


широко применяются как шаблоны для текстового поиска,
разбивки и подстановки, в том числе в лексическом анализе .
Спасибо за внимание!

Вам также может понравиться