Karl Heinz Wagner
Karl Heinz Wagner
Karl Heinz Wagner
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
148 <strong>Karl</strong> <strong>Heinz</strong> <strong>Wagner</strong><br />
Allgemein soll gelten:<br />
1. Seien A, B1, . . . , Bn nichtterminale Symbole und ki Variable über Wortketten,<br />
so gilt<br />
A → B1 . . . Bn wird übersetzt in<br />
A(k0, kn) ⇐ B1(k0, k1), . . . , Bi(ki−1, ki), . . . , Bn(kn−1, kn),<br />
wobei für kn einfach k geschrieben werden kann.<br />
2. Sind A und Bi nichterminale Symbole und ist a ein Terminalsymbol so gilt:<br />
A → a wird übersetzt in A(a.k, k) ⇐;<br />
. . . Bia . . . wird übersetzt in . . . , Bi(ki−1, a.ki), . . .<br />
Unter Berücksichtigung dieser Übersetzungsregeln kann eine DCG im wesentlichen<br />
in der bekannten Form der PSG formuliert werden. 7<br />
Nun ist mehrfach gezeigt worden, daß kontextfreie Phrasenstrukturgrammatiken<br />
in dieser einfachen Form nicht deskriptiv adäquat sind. Der DCG-<br />
Formalismus enthält daher auch zwei wesentliche Erweiterungen, die seine Expressivität<br />
und Mächtigkeit erheblich vergrößern:<br />
1. Nichtterminale Symbole sind nicht atomar, sondern können durch eine beliebige<br />
Zahl von Argumenten aus Termen beliebiger Komplexität erweitert<br />
werden, die der Unifikation unterliegen, z.B.<br />
Satz → NP (num, pers), V P (num, pers).<br />
2. Es können beliebige Bedingungen (constraints) in Form von zusätzlichen Literalen<br />
(bzw. Klauseln) hinzugefügt werden. Diese bleiben bei der Übersetzung<br />
erhalten, und werden durch geschweifte Klammern gekennzeichnet, z.B.<br />
Satz → NP (typ1), V P (typ2), {subtyp(typ1, typ2)}<br />
Wir benötigen entsprechend zusätzliche Übersetzungsregeln:<br />
1. A(xι, . . . , xν) → . . . wird übersetzt in A(xι, . . . , xν, k0, k) ⇐ . . .;<br />
Bi(xι, . . . , xν) wird übersetzt in Bi(xι, . . . , xν, ki−1, ki)<br />
2. {B1, . . . , Bn} wird übersetzt in B1, . . . , Bn<br />
Zusätzliche Argumente können beispielsweise dazu verwendet werden, Abhängigkeiten<br />
der verschiedensten Art zu formulieren. Eine Regel wie<br />
(5.7.) Satz → NP (num, pers), V P (num, pers)<br />
(in der Übersetzung: Satz(k0, k) ⇐ NP (num, pers, k0, k1), V P (num, pers, k1, k))<br />
drückt z.B. den Sachverhalt aus, daß Subjekt und Prädikat hinsichtlich der grammatischen<br />
Kategorien Numerus und Person übereinstimmen müssen.<br />
Da die Argumente beliebig komplexe Terme sein können, ist es möglich,<br />
gleichzeitig mit der Konstruktion eines Beweises Strukturbeschreibungen durch<br />
Unifikation aufzubauen. Unsere Beispielgrammatik erhält dadurch folgende Form:<br />
7 In der üblichen Form der DCG werden terminale Symbole in eckige Klammern [ ]<br />
gesetzt, z.B. N → [boy]. Diese Klammern werden in Prolog zur Kennzeichnung von<br />
Listen verwendet und terminale Symbole sind einelementige Listen.