Gramatyka kontekstowa

Gramatyka kontekstowa (ang. context-sensitive grammar) – gramatyka formalna, której reguły są postaci:

α A β α γ β , {\displaystyle \alpha A\beta \to \alpha \,\gamma \beta ,}

gdzie:

A {\displaystyle A} – symbol nieterminalny,
α , {\displaystyle \alpha ,} β {\displaystyle \beta } – dowolne ciągi symboli terminalnych i nieterminalnych (mogą być puste),
γ {\displaystyle \gamma } – dowolny niepusty ciąg symboli terminalnych i nieterminalnych.

Każda gramatyka kontekstowa definiuje pewien język kontekstowy. Należy zwrócić uwagę, że właściwa reguła to A γ , {\displaystyle A\to \gamma ,} ciągi α {\displaystyle \alpha } i β {\displaystyle \beta } stanowią kontekst, w którym dopuszczalne jest zastosowanie tej reguły, stąd właśnie pochodzi nazwa tej klasy gramatyk.

Funkcjonuje również równoważna (z dokładnością do słowa pustego) definicja gramatyki kontekstowej: gramatyką kontekstową nazywa się gramatykę, której reguły są postaci:

α β , {\displaystyle \alpha \to \beta ,}

gdzie α {\displaystyle \alpha } i β {\displaystyle \beta } są dowolnymi ciągami symboli terminalnych i nieterminalnych spełniającymi warunek:

| α | | β | , {\displaystyle |\alpha |\leqslant |\beta |,}

gdzie | α | {\displaystyle |\alpha |} oznacza liczbę symboli w ciągu α . {\displaystyle \alpha .} Takie gramatyki nazywa się też gramatykami monotonicznymi z uwagi na to, że liczba symboli podczas wyprowadzania słowa nigdy nie maleje.

Gramatyki kontekstowe zostały wprowadzone przez Noama Chomsky’ego w roku 1950 jako sposób formalnego opisu języków naturalnych, w których często poprawność wystąpienia słowa zależy od kontekstu, w którym jest ono umieszczone.

  • p
  • d
  • e
Teoria automatów: języki formalne i gramatyki formalne
Hierarchia Chomsky’ego
  • Typ 0
  • Typ 1
  • Typ 2
  • Typ 3
Gramatyka formalna
  • kombinatoryczna
  • kontekstowa
  • bezkontekstowa
  • deterministyczna bezkontekstowa
  • regularna
Język formalny
Minimalny automat akceptujący