В теории автоматов класс неограниченных грамматик (также называемых полу-Туэ, тип-0 или грамматики с фразовой структурой ) является наиболее общим классом грамматик в иерархии Хомского. Нет никаких ограничений на создание неограниченной грамматики, кроме того, что каждая из их левых частей не пуста. Этот класс грамматики может генерировать произвольные рекурсивно перечисляемые языки.
неограниченная грамматика - это формальная грамматика , где - конечный набор нетерминальных символов, - конечный набор терминальных символов, и не пересекаются, - конечный набор производственных правил в форме где и - строки символов в и не пустая строка, a nd - специально обозначенный начальный символ. Как следует из названия, нет никаких реальных ограничений на типы производственных правил, которые могут иметь неограниченные грамматики.
Неограниченные грамматики характеризуют рекурсивно перечислимые языки. Это то же самое, что сказать, что для каждой неограниченной грамматики существует некая машина Тьюринга, способная распознавать и наоборот. Учитывая неограниченную грамматику, такую машину Тьюринга достаточно просто построить, как двухленточную недетерминированную машину Тьюринга. Первая лента содержит входное слово для тестирования, а вторая лента используется машиной для генерации текстовых форм из . Затем машина Тьюринга выполняет следующие действия:
Легко увидеть, что эта машина Тьюринга сгенерирует все и только сентенциальные формы на своей второй ленте после того, как последний шаг выполняется произвольное количество раз, поэтому язык должен быть рекурсивно перечисляемым.
Возможна и обратная конструкция. Имея некоторую машину Тьюринга, можно создать эквивалентную неограниченную грамматику, которая даже использует только продукции с одним или несколькими нетерминальными символами на их левой стороне. Следовательно, произвольная неограниченная грамматика всегда может быть эквивалентно преобразована для подчинения последней форме, преобразовав ее в машину Тьюринга и обратно. Некоторые авторы используют последнюю форму как определение неограниченной грамматики.
проблема принятия решения о том, может ли данная строка быть сгенерирована данным неограниченным грамматика эквивалентна проблеме того, может ли она быть принята машиной Тьюринга, эквивалентной грамматике. Последняя проблема называется проблемой остановки и является неразрешимой.
Языки с рекурсивным перечислением закрыты под звездой Клини, конкатенацией, объединением и пересечением, но не ниже установить разницу ; см. Рекурсивно перечислимый язык # Свойства замыкания.
Эквивалентность неограниченных грамматик машинам Тьюринга подразумевает существование универсальной неограниченной грамматики, грамматики, способной принимать любой другой неограниченный язык грамматики с учетом описания языка. По этой причине теоретически возможно построить язык программирования на основе неограниченных грамматик (например, Thue ).