Interested Article - Контекстно-зависимая грамматика

Контекстно зависимая грамматика ( КЗ-грамматика , контекстная грамматика ) — частный случай формальной грамматики (тип 1 по иерархии Хомского ), у которой левые и правые части всех продукций могут быть окружены терминальными и нетерминальными символами.

Частным случаем формальной грамматики также является контекстно-свободная грамматика .

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

Формальное определение

Формальная грамматика G=(N, T, I, P) является контекстно-зависимой, если все правила P имеют вид: αAβ → αωβ

где A ∈ N (то есть одиночный нетерминальный символ), ω ∈ (N ∪ T) + (то есть непустая цепочка, состоящая из терминальных и/или нетерминальных символов), α, β ∈ (N ∪ T)* (то есть любая цепочка, состоящая из терминальных и/или нетерминальных символов).

Примеры

Следующая грамматика задает контекстно-зависимый язык { a n b n c n : n 1 } {\displaystyle \{a^{n}b^{n}c^{n}:n\geq 1\}} :

  1. S a S B C {\displaystyle S\rightarrow aSBC}
  2. S a B C {\displaystyle S\rightarrow aBC}
  3. C B C Z {\displaystyle CB\rightarrow CZ}
  4. C Z W Z {\displaystyle CZ\rightarrow WZ}
  5. W Z W C {\displaystyle WZ\rightarrow WC}
  6. W C B C {\displaystyle WC\rightarrow BC}
  7. a B a b {\displaystyle aB\rightarrow ab}
  8. b B b b {\displaystyle bB\rightarrow bb}
  9. b C b c {\displaystyle bC\rightarrow bc}
  10. c C c c {\displaystyle cC\rightarrow cc}

Так выглядит цепочка порождения aaa bbb ccc:

S {\displaystyle S}
1 a S B C {\displaystyle \Rightarrow _{1}aSBC}
1 a a S B C B C {\displaystyle \Rightarrow _{1}a{\boldsymbol {aSBC}}BC}
2 a a a B C B C B C {\displaystyle \Rightarrow _{2}aa{\boldsymbol {aBC}}BCBC}
3 a a a B C Z C B C {\displaystyle \Rightarrow _{3}aaaB{\boldsymbol {CZ}}CBC}
4 a a a B W Z C B C {\displaystyle \Rightarrow _{4}aaaB{\boldsymbol {WZ}}CBC}
5 a a a B W C C B C {\displaystyle \Rightarrow _{5}aaaB{\boldsymbol {WC}}CBC}
6 a a a B B C C B C {\displaystyle \Rightarrow _{6}aaaB{\boldsymbol {BC}}CBC}
3 a a a B B C C Z C {\displaystyle \Rightarrow _{3}aaaBBC{\boldsymbol {CZ}}C}
4 a a a B B C W Z C {\displaystyle \Rightarrow _{4}aaaBBC{\boldsymbol {WZ}}C}
5 a a a B B C W C C {\displaystyle \Rightarrow _{5}aaaBBC{\boldsymbol {WC}}C}
6 a a a B B C B C C {\displaystyle \Rightarrow _{6}aaaBBC{\boldsymbol {BC}}C}
3 a a a B B C Z C C {\displaystyle \Rightarrow _{3}aaaBB{\boldsymbol {CZ}}CC}
4 a a a B B W Z C C {\displaystyle \Rightarrow _{4}aaaBB{\boldsymbol {WZ}}CC}
5 a a a B B W C C C {\displaystyle \Rightarrow _{5}aaaBB{\boldsymbol {WC}}CC}
6 a a a B B B C C C {\displaystyle \Rightarrow _{6}aaaBB{\boldsymbol {BC}}CC}
7 a a a b B B C C C {\displaystyle \Rightarrow _{7}aa{\boldsymbol {ab}}BBCCC}
8 a a a b b B C C C {\displaystyle \Rightarrow _{8}aaa{\boldsymbol {bb}}BCCC}
8 a a a b b b C C C {\displaystyle \Rightarrow _{8}aaab{\boldsymbol {bb}}CCC}
9 a a a b b b c C C {\displaystyle \Rightarrow _{9}aaabb{\boldsymbol {bc}}CC}
10 a a a b b b c c C {\displaystyle \Rightarrow _{10}aaabbb{\boldsymbol {cc}}C}
10 a a a b b b c c c {\displaystyle \Rightarrow _{10}aaabbbc{\boldsymbol {cc}}}

См. также

  • JFLAP кроссплатформенная программа симулятор автоматов, машины Тьюринга, грамматик, рисует граф автомата

Литература

  • Кук Д., Бейз Г. Глава 8. Языки и грамматики // Компьютерная математика = Computer Mathematics. — М. : Наука. Физматлит, 1990. — 384 с. — ISBN 5-02-014216-6 .

Same as Контекстно-зависимая грамматика