Gramatyka koniunkcyjna

Gramatyki koniunkcyjne to klasa gramatyk formalnych studiowanych w teorii języka formalnego . Rozszerzają podstawowy typ gramatyk, gramatyk bezkontekstowych , o operację koniunkcji . Oprócz koniunkcji jawnej, gramatyki koniunkcyjne dopuszczają niejawną dysjunkcję reprezentowaną przez wiele reguł dla pojedynczego symbolu nieterminalnego, który jest jedynym łącznikiem logicznym możliwym do wyrażenia w gramatykach bezkontekstowych. Koniunkcji można użyć w szczególności do określenia przecięcia języków. Dalsze rozszerzenie gramatyk koniunkcyjnych, znanych jako gramatyki boolowskie, dodatkowo umożliwia wyraźną negację .

Reguły gramatyki koniunkcyjnej mają formę

gdzie jest i , ..., są łańcuchami utworzonymi z symboli w ( odpowiednio skończone zbiory symboli terminalnych i nieterminalnych . Nieformalnie reguła stwierdza, że ​​​​każdy ciąg warunków składniowych reprezentowanych przez ..., α spełnia zatem warunek określony przez .

Definicja formalna

Gramatyka koniunkcyjna zdefiniowana przez 4- krotkę gdzie

  1. V jest zbiorem skończonym; element jest symbolem lub . _ Każda zmienna reprezentuje inny typ frazy lub klauzuli w zdaniu. Zmienne są czasami nazywane kategoriami syntaktycznymi.
  2. Σ jest skończonym zbiorem końcówek s, rozłącznych z V , które składają się na rzeczywistą treść zdania. Zbiorem terminali jest alfabet języka określonego przez gramatykę G .
  3. R to skończony zbiór produkcji, z których każda ma postać dla pewnego w ja . Członkowie R nazywani są regułami lub wytworami gramatyki.
  4. S jest zmienną początkową (lub symbolem początkowym), używaną do reprezentowania całego zdania (lub programu). Musi być elementem V.

Często wymienia się wszystkie prawe strony tej samej lewej strony w tej samej linii, używając | ( symbol rury ), aby je rozdzielić. Zasady i można zatem zapisać jako .

Istnieją dwie równoważne definicje formalne języka określonego przez gramatykę koniunkcyjną. Jedna definicja opiera się na przedstawieniu gramatyki jako układu równań językowych z sumą, przecięciem i konkatenacją oraz rozważeniu jej najmniejszego rozwiązania. Druga definicja uogólnia generatywną definicję gramatyk bezkontekstowych Chomsky'ego , używając przepisywania terminów nad koniunkcją i konkatenacją.

Definicja przez pochodzenie

Dla dowolnych ciągów daje v , zapisane jako , jeśli

  • albo istnieje reguła taka, że i ,
  • istnieje taki i .

∈ mówimy, że generuje w , zapisywane jako , jeśli takie, że .

Językiem _

Przykład

sol , z produkcjami

,
,
,
,
,

jest spójny. Typowe wyprowadzenie to

za . Język nie jest bezkontekstowy, czego dowodzi lemat o pompowaniu dla języków bezkontekstowych .

Algorytmy parsowania

Chociaż siła wyrazu gramatyk koniunkcyjnych jest większa niż gramatyk bezkontekstowych, gramatyki koniunkcyjne zachowują niektóre z tych ostatnich. Co najważniejsze, istnieją uogólnienia głównych bezkontekstowych algorytmów analizowania, w tym rekurencyjne zejście w czasie liniowym, uogólniony LR w czasie sześciennym , algorytm Cocke-Kasami-Younger w czasie sześciennym , a także algorytm Valianta działający tak szybko jak macierz mnożenie.

Właściwości teoretyczne

Właściwość, która jest nierozstrzygalna już dla języków bezkontekstowych lub ich skończonych przecięć, musi być nierozstrzygalna także dla gramatyk koniunkcyjnych; należą do nich: pustka , skończoność , regularność , bezkontekstowość , inkluzja i równoważność.

Rodzina języków koniunkcyjnych jest zamknięta na zjednoczenie, przecięcie, konkatenację i gwiazdę Kleene'a , ale nie na homomorfizm ciągów , przedrostek , sufiks i podłańcuch. Zamknięcie pod dopełnieniem i pod homomorfizmem strun wolnych od ε są nadal problemami otwartymi (od 2001 r.).

Zbadano siłę wyrazu gramatyk nad jednoliterowym alfabetem. [ potrzebne źródło ]

Ta praca dała podstawę do badania równań językowych o bardziej ogólnej formie.

Zsynchronizowane naprzemienne automaty dociskowe

Aizikowitz i Kaminski wprowadzili nową klasę automatów przesuwających w dół (PDA) zwanych zsynchronizowanymi automatami przesuwającymi w dół (SAPDA). Udowodnili, że jest to równoważne gramatyce koniunkcyjnej w taki sam sposób, jak niedeterministyczne PDA są równoważne gramatyce bezkontekstowej.

Notatki

Linki zewnętrzne