Gramatyka bezkontekstowa

Wikipedia:Weryfikowalność
Ten artykuł od 2013-09 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Gramatyka bezkontekstowa – gramatyka formalna, w której wszystkie reguły wyprowadzania wyrażeń są postaci:

A Γ , {\displaystyle A\to \Gamma ,}

gdzie:

A {\displaystyle A} – dowolny symbol nieterminalny, jego znaczenie nie zależy od kontekstu, w jakim występuje;
Γ {\displaystyle \Gamma } – dowolny (być może pusty) ciąg symboli terminalnych i nieterminalnych.

Każdy język bezkontekstowy generowany jest przez pewną gramatykę bezkontekstową.

Formalna definicja

Gramatyką bezkontekstową nazywa się czwórkę uporządkowaną ( T , N , P , S ) , {\displaystyle (T,N,P,S),} gdzie:

  • T {\displaystyle T} jest skończonym zbiorem symboli terminalnych,
  • N {\displaystyle N} jest skończonym zbiorem symboli nieterminalnych,
  • P {\displaystyle P} jest skończonym zbiorem reguł typu L R , {\displaystyle L\to R,} gdzie L N {\displaystyle L\in N} oraz R ( T N ) , {\displaystyle R\in (T\cup N)^{*},}
  • S N {\displaystyle S\in N} jest wyróżnionym elementem początkowym.

Przykłady

Przykład 1
Gramatyka ( { a , b } , { S } , { S a S b | ϵ } , S ) {\displaystyle (\{a,b\},\{S\},\{S\to aSb|\epsilon \},S)} generuje język { a n b n : n N } . {\displaystyle \{a^{n}b^{n}:n\in \mathbb {N} \}.} Ten język nie jest regularny.
Przykład 2
Język { w : w { a , b } w = w R } , {\displaystyle \{w:w\in \{a,b\}^{*}\wedge w=w^{R}\},} który jest językiem wszystkich palindromów nad alfabetem { a , b } , {\displaystyle \{a,b\},} może być wygenerowany przez następującą gramatykę:
( { a , b } , { S } , { S a S a | b S b | a | b | ϵ } , S ) . {\displaystyle (\{a,b\},\{S\},\{S\to aSa|bSb|a|b|\epsilon \},S).}

Postaci normalne

Każdy język bezkontekstowy nie zawierający słowa pustego może być wyrażony za pomocą gramatyki w postaci normalnej Greibach oraz postaci normalnej Chomskiego.

  • 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