Разница между обычным языком и обычной грамматикой
Моя книга дает похожие, но немного разные объяснения обычной грамматики и обычного языка. Я сомневаюсь, что это неправильно, обычный язык - это то же самое, что и обычная грамматика? Определение моей книги таково: грамматика регулярна, если все произведения V-> aW или V->Wa с V,W нетерминальными или терминальными символами, "a" терминальный символ.W также может быть пустым или совпадать В.
3 ответа
Формальная грамматика - это набор правил, тогда как формальный язык - это набор строк.
Обычная грамматика - это формальная грамматика, которая описывает обычный язык.
Согласно Википедии:
[T] он оставил регулярные грамматики генерировать ровно все обычные языки. Правильные регулярные грамматики описывают обратную сторону всех таких языков, то есть точно также обычных языков.
Если разрешено смешивать левые и правые регулярные правила, у нас все еще есть линейная грамматика, но не обязательно регулярная.
В приведенном выше лево-регулярные правила являются правилами вида V->Wa
(правильно-регулярный, в форме V->aW
).
Обычные грамматики и обычные языки - это два разных термина:
- Язык - это (возможно, бесконечный) набор допустимых последовательностей терминальных символов.
- Грамматика определяет допустимые последовательности.
Один и тот же язык может быть представлен различным классом грамматик (обычный, контекстно-свободный и т. Д.). Язык называется регулярным, если он может быть представлен с помощью обычной грамматики. С другой стороны, регулярная грамматика всегда определяет обычный язык. То, что вы опубликовали, это определение обычной грамматики.
Смотрите этот пост в Википедии для получения дополнительной информации.
Я думаю, что если я объясню разницу между a и , ваши вопросы будут автоматически разрешены.
А
language
представляет собой набор строк в некотором наборе алфавитов, удовлетворяющих определенным правилам, закодированным как грамматики, в то время как
Grammars
используются для создания языков.
Так что в основном
grammars
обозначают синтаксические правила строки, а набор строк, которые могут быть сгенерированы с помощью начального символа грамматики, называется
Language
принадлежащий
grammar