Interested Article - Двухуровневая грамматика

Двухуровневая грамматика — это формальная грамматика , которая используется для порождения другой формальной грамматики, например с бесконечным множеством правил. Именно так грамматика ван Вейнгаардена была использована для определения языка Алгол-68 . Контекстно-свободная грамматика , определяющая правила для другой грамматики, может породить в сущности бесконечное множество правил производной грамматики. Это делает двухуровневые грамматики более мощными, чем одноуровневые контекстно-свободные грамматики, так как было доказано, что двухуровневые порождающие грамматики являются полными по Тьюрингу.

Двухуровневой грамматикой может также называться формальная грамматика для двухуровневого формального языка, то есть языка, заданного на двух уровнях, например уровень слов и/или предложений.

Пример

Хорошо известным не контекстно-свободным языком является

Двухуровневой грамматикой для него может быть метаграмматика

N ::= 1 | N1
X ::= a | b | c

вместе с грамматической схемой

Start ::=
::=
::= X

Ссылки

  1. Sintoff, M. «Existence of Van Wijngaarden’s Syntax for Every Recursively Enumerable Set.» Annales de la Société Scientifique de Bruxelles 2 (1967), 115—118.
Источник —

Same as Двухуровневая грамматика