Gramatyka dwupoziomowa

Gramatyka dwupoziomowa jest gramatyką formalną używaną do generowania innej gramatyki formalnej, na przykład z nieskończonym zestawem reguł. W ten sposób użyto gramatyki Van Wijngaardena do określenia Algol 68 . Gramatyka bezkontekstowa , która definiuje reguły dla drugiej gramatyki, może dać efektywnie nieskończony zestaw reguł dla gramatyki pochodnej. To sprawia, że ​​​​takie gramatyki dwupoziomowe są potężniejsze niż pojedyncza warstwa gramatyki bezkontekstowej, ponieważ wykazano, że generatywne gramatyki dwupoziomowe są kompletne według Turinga .

Gramatyka dwupoziomowa może również odnosić się do gramatyki formalnej dla dwupoziomowego języka formalnego , który jest językiem formalnym określonym na dwóch poziomach, na przykład poziomów słów i zdań. [ potrzebne źródło ]

Przykład

Dobrze znanym językiem bezkontekstowym jest

Dwupoziomową gramatyką dla tego języka jest metagramatyka

N ::= 1 | N1
X ::= a | B

wraz ze schematem gramatycznym

Start :: =
:: =
::= X

Zobacz też

  1. ^ Shutt, John N. „Gramatyka dwupoziomowa” .
  2. ^ Estes, Matthew Scott (maj 2005). „Właściwości nieskończonych języków i gramatyk” (PDF) . Teza przedstawiona na wydziale Graduate School Tennessee Technological University.
  3. Bibliografia _ i in. (red.). „Poprawiony raport na temat języka algorytmicznego ALGOL 68” . Zarchiwizowane od oryginału w dniu 24 stycznia 2002 r.
  4. ^ Sintzoff, M. (1967). „Istnienie składni van Wijngaardena dla każdego zestawu przeliczalnego rekurencyjnie”. Annales de la Société Scientifique de Bruxelles . 2 : 115-118.

Linki zewnętrzne