Eine deterministisch kontextfreie Sprache ist eine Sprache, die von einem deterministischen Kellerautomaten akzeptiert wird. Manchmal wird auch der gekürzte Begriff deterministische Sprache verwendet. Die Definition geht auf Seymour Ginsburg und Sheila Greibach zurück.
Im Bezug auf Grammatiken findet sich auch die Bezeichnung LR(k)-Sprache: Jede LR(k)-Grammatik beschreibt eine deterministisch-kontextfreie Sprache. Strenggenommen gilt die Umkehrung zwar nicht, denn es gibt deterministisch-kontextfreie Sprachen, die keine LR(0)-Sprachen sind (d.h. nicht als LR(0)-Grammatik darstellbar sind), jedoch lassen sie sich durch Einführung einer eindeutigen Markierung für das Wortende in eine solche überführen.
Weiterhin sind die deterministisch kontextfreien Sprachen abgeschlossen unter:
Sie sind nicht abgeschlossen unter:
Eine weitere Unterklasse der LR(k)-Sprachen bilden die LL(k)-Sprachen. Diese werden manchmal für bestimmte Anwendungsfälle bevorzugt, da Parser direkt aus einer Grammatik dafür leicht ohne Parsergenerator programmiert werden können. Weiterhin sind während des Parsens Informationen über die genaue Position im Parsebaum verfügbar. Dies ist vor allem deshalb nützlich, weil es auf einfache Weise vererbte Attribute bei der Definition der Semantik zulässt.
Bei LR-Parsern ist die mögliche Baumkonstellation oberhalb des abgearbeiteten Handle hingegen eine reguläre Sprache. Gängige Parsergeneratoren wie yacc beschränken sich deshalb auf die Möglichkeit der S-Attribution, die ausschließlich synthetisierte Attribute zulässt. Inzwischen existiert jedoch mit zyacc auch ein Parsergenerator, der LR-Attribution erlaubt, d.h. vererbte Attribute in den Fällen, wo sie beim Parsen von Links nach Rechts eindeutig ausgewertet werden können.
Die deterministisch kontextfreien Sprachen sind eine echte Teilklasse der kontextfreien Sprachen. Sie sind unvergleichbar mit den linearen Sprachen, aber eine echte Oberklasse der deterministischen linearen Sprachen. Weiterhin sind sie eine echte Teilklasse der deterministischen wachsend kontextsensitiven Sprachen, die mit den Church-Rosser-Sprachen übereinstimmen.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Deterministisch kontextfreie Sprache".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world