КС-грамматика

КС-грамматика

Контекстно-свободная грамматика (КС-грамматика, бесконтекстная грамматика) — частный случай формальной грамматики (тип 2 по иерархии Хомского), у которой левые части всех продукций являются нетерминалами. Смысл термина «контекстно-свободная» заключается в том, что возможность применить продукцию к нетерминалу, в отличие от общего случая грамматики Хомского, не зависит от контекста этого нетерминала.

Язык, который может быть задан КС-грамматикой, называется контекстно-свободным языком или КС-языком.

Следует заметить, что по сути КС-грамматика — другая форма БНФ.

Содержание

Применение

КС-грамматики находят большое применение в информатике. Ими задаётся грамматическая структура большинства языков программирования, структурированных данных и т.д. (см. грамматический анализ)

Типы КС грамматик

  • LL-грамматика
  • LALR-грамматика
  • LR-грамматика
  • SLR-грамматика

Примеры

Примеры КС-грамматик и соответствующих им КС-языков:

Вложенные скобки

  • Терминалы: '(' и ')';
  • нетерминал: S;
  • продукции: S→(S), S→ε;
  • начальный нетерминал — S.

Этой грамматикой задаётся язык вложенных скобок { (n)n | n≥0 }.

Язык Дика

Основная статья: Язык Дика

Целые числа

  • Терминалы: '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9';
  • нетерминалы: <число>, <число без знака>, <последовательность цифр>, <ненулевая цифра>, <цифра>;
  • продукции:
<число> → 0
<число> → +<число без знака>
<число> → -<число без знака>
<число> → <число без знака>
<число без знака> → <ненулевая цифра>
<число без знака> → <ненулевая цифра><последовательность цифр>
<последовательность цифр> → <цифра><последовательность цифр>
<последовательность цифр> → <цифра>
<цифра> → 0
<цифра> → <ненулевая цифра>
<ненулевая цифра> → 1
<ненулевая цифра> → 2
<ненулевая цифра> → 3 
<ненулевая цифра> → 4 
<ненулевая цифра> → 5 
<ненулевая цифра> → 6 
<ненулевая цифра> → 7
<ненулевая цифра> → 8 
<ненулевая цифра> → 9 
  • начальный нетерминал: <число>.

Этой грамматикой задаётся язык целых чисел.

Арифметическое выражение

  • Терминалы: '+', '-', '*', '/', '(', ')', 'x'
  • нетерминалы: <выражение>, <слагаемое>, <множитель>
  • продукции:
<выражение> → <выражение> + <слагаемое>,
<выражение> → <выражение> - <слагаемое>,
<выражение> → <слагаемое>,
<слагаемое> → <слагаемое> * <множитель>,
<слагаемое> → <слагаемое> / <множитель>,
<слагаемое> → <множитель>,
<множитель> → ( <выражение> ),
<множитель> → x,
  • начальный нетерминал: <выражение>.

Этой грамматикой задаётся арифметическое выражение, содержащее простейшие арифметические действие над переменной x. Если заменить терминал 'x' на нетерминал <число> из предыдущего примера, то получится грамматика, задающая арифметическое выражение, состоящее из операций сложения, вычитания, умножение и деления над целыми числами.

Ограничения возможностей КС грамматик

Не все языки могут быть заданы КС-грамматикой. Так, язык { anbncn | n≥1 } не является контекстно-свободным.

Литература

  • Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: «Вильямс», 2002. — С. 528. — ISBN 0-201-44124-1

Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "КС-грамматика" в других словарях:

  • Грамматика (наука) — Грамматика (от греч. γράμμα  «запись»), как наука, есть раздел языкознания, изучающий грамматический строй языка, закономерности построения правильных осмысленных речевых отрезков на этом языке (словоформ, синтагм, предложений, текстов). Эти …   Википедия

  • Грамматика (как наука) — есть раздел языкознания, изучающий грамматический строй языка, закономерности построения правильных осмысленных речевых отрезков на этом языке (словоформ, синтагм, предложений, текстов). Эти закономерности грамматика формулирует в виде общих… …   Википедия

  • ГРАММАТИКА БЕСКОНТЕКСТНАЯ — грамматика контекстно свободная, КС грамматика, грамматика составляющих, все правила к рой имеют вид где А вспомогательный символ и непустая цепочка (так наз. бесконтекстные правила). Языки, порождаемые такими грамматиками, наз. бесконтекстными… …   Математическая энциклопедия

  • Грамматика (система) — Грамматика (от греч. grammatikáos  относящийся к буквам от gr2amma  буква), грамматический строй (грамматическая система)  совокупность закономерностей какого либо языка, регулирующих правильность построения значимых речевых отрезков (слов,… …   Википедия

  • Грамматика (как система) — Грамматика (от греч. grammatikáos  относящийся к буквам от gr2amma  буква), грамматический строй (грамматическая система)  совокупность закономерностей какого либо языка, регулирующих правильность построения значимых речевых отрезков (слов,… …   Википедия

  • Грамматика — (от греческого grammata «письмена», «писания»). В первоначальном понимании слова Г. совпадает с наукой о языковых формах вообще, включая и изучение элементов звуковой формы звуков или, как выражаются вплоть до начала XIX в., «букв»; это включение …   Литературная энциклопедия

  • ГРАММАТИКА — (греч. grammatike, от grammata письмена, происш. от graphein писать). 1) собрание законов и правил употребления устного и письменного языка. 2) учебная книга, содержащая в себе грамматику известного языка. Словарь иностранных слов, вошедших в… …   Словарь иностранных слов русского языка

  • Грамматика, разбирающая выражение — (РВ грамматика)  это тип аналитической формальной грамматики, описывающей формальный язык в терминах набора правил для распознавания строк языка. Грамматика, разбирающая выражение, в сущности, представляет собой синтаксический анализатор… …   Википедия

  • Грамматика Николая Греча — Пространная русская грамматика была опубликована в 1827 году с посвящением Николаю I. Свет увидел только первый том. Грамматику предваряет предисловие Ф.В. Булгарина, который счел необходимым заменить авторское предисловие, поскольку оно было… …   Википедия

  • ГРАММАТИКА СОСТАВЛЯЮЩИХ — грамматика непосредственно составляющих, НС грамматика, грамматика контекстная, частный случай грамматики порождающей, когда каждое ее правило имеет вид , где цепочки в алфавите и 0 непуста. Каждый шаг вывода в Г. с. состоит в замене одного… …   Математическая энциклопедия

  • ГРАММАТИКА ПОРОЖДАЮЩАЯ — грамматика Хомского, один из видов формальной грамматики;представляет собой, по существу, частный случай исчисления Поста (см. Поста каноническая система). Систематич. изучение Г. п. было начато в 50 х гг. 20 в. Н. Хомскнм (N. Chomsky), к рый… …   Математическая энциклопедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»