Gramatyka macierzowa to gramatyka formalna , w której zamiast pojedynczych produkcji, produkcje są grupowane w skończone sekwencje. Produkcji nie można zastosować osobno, należy ją zastosować w sekwencji. Przy zastosowaniu takiej sekwencji produkcji przepisywanie odbywa się zgodnie z każdą kolejną produkcją w kolejności, pierwszą, drugą itd., aż ostatnia produkcja zostanie wykorzystana do przepisywania. Sekwencje są nazywane macierzami .
Gramatyka macierzowa to uporządkowana poczwórna czwórka sol gdzie
to skończony zbiór nieterminali
to skończony zbiór terminali
jest specjalnym elementem , a mianowicie. symbol startowy
to skończony zbiór niepustych sekwencji, których elementami są uporządkowane pary gdzie
Pary nazywane są produkcjami , zapisywane jako . Sekwencje nazywane są macierzami i można je zapisać jako
Niech zbiorem wszystkich produkcji macierzowej . Wtedy gramatyka macierzowa jest typu - , zwiększająca długość liniowa , -darmowy , bezkontekstowe lub kontekstowe wtedy i tylko wtedy, gdy gramatyka ma następującą właściwość.
W przypadku gramatyki macierzowej jest relacja binarna reprezentowane również jako . Dla każdego , zachodzi wtedy i tylko wtedy, gdy istnieje liczba całkowita takie, że słowa
ponad V istnieje i
i
jest jedną z macierzy z sol
i wszystkich takich, że
Niech będzie zwrotnym przechodnim zamknięciem relacji } Następnie język generowany przez gramatykę macierzową przez
Przykłady
Rozważ gramatykę macierzową
gdzie jest zbiorem zawierającym następujące macierze:
Te macierze, które zawierają tylko reguły bezkontekstowe , generują język kontekstowy
Displaystyle jest i .
Ten przykład można znaleźć na stronach 8 i 9 w następującej formie: Rozważ gramatykę macierzową
gdzie jest zbiorem zawierającym następujące macierze:
Te macierze, które zawierają tylko reguły kontekstowe , generują język kontekstowy
Za to i .
Nieruchomości
Niech będzie klasą języków tworzoną przez gramatyki macierzowe, a tworzoną przez gramatyki macierzowe.