Das Kefk Network Wiki befindet sich im Testbetrieb.


Van-Wijngaarden-Grammatik

Aus Kefk.

(Weitergeleitet von Zweistufengrammatik)
Wechseln zu: Navigation, Suche

Eine Van-Wijngaarden-Grammatik (auch: vW-Grammatik oder W-Grammatik) ist eine Zweistufengrammatik aus der Compilerprogammierung, eine Art von formaler Grammatik, die es möglich macht, mit einer endlichen Menge von Regeln potentiell unendliche Grammatiken zu definieren.

Anwendung bei ALGOL 68

Adriaan van Wijngaarden erfand diese Technik und benutzte sie bei der Definition der Programmiersprache ALGOL 68, um einige syntaktische Forderungen streng definieren zu können, die man bis dahin in natürlicher Sprache hatte formulieren müssen - z.B. dass Bezeichner in ihrem Geltungsbereich nicht mehrfach deklariert sind und dass der Gebrauch der Bezeichner mit ihrer Deklaration übereinstimmt.

Eine Van-Wijngaarden-Grammatik besteht aus einer endlichen Menge von Metaregeln, die dazu verwendet werden, aus einer endlichen Menge von Hyperregeln beliebig viele Produktionsregeln abzuleiten. Hyperregeln beschränken die zulässigen Kontexte auf der oberen Stufe. Wie Alain Colmerauer feststellte, ist die konsistente Substitution, die im Ableitungsprozess verwendet wird, im Wesentlichen äquivalent zur Unifikation, wie sie in Prolog stattfindet.

Andere Anwendungen

Es wurde festgestellt, dass Zweistufengrammatiken auch außerhalb ihres ursprünglichen Anwedungsfeldes von Nutzen sein können.

Anthony Fisher versuchte, einen Parser für allgemeine W-Grammatiken zu konstruieren. [1]

Es ist vorgeschlagen worden, die Methode in der Ergonomie zur Beschreibung komplexer menschlicher Handlungen zu verwenden.

Weblinks

Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Van-Wijngaarden-Grammatik, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge
Andere Sprachen