01.10.2013 Aufrufe

Karl Heinz Wagner

Karl Heinz Wagner

Karl Heinz Wagner

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!