Formale Sprachen: Mit Anwendungen auf die Beschreibung natürlicher Sprachen [Reprint 2017 ed.] 9783111372853, 9783484501638


228 16 8MB

German Pages 148 [152] Year 1980

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Vorwort
Inhaltsverzeichnis
Verzeichnis der Symbole und Abkürzungen
1. Mathematische Grundlagen
2. Formale Sprachen und Phrasenstrukturgrammatiken
3. Syntaxanalyse
4. 2-schichtige Van-Wijngaarden-Grammatiken (2VWG
5. Lösungen zu den Übungen
6. Literaturverzeichnis
7. Stichwortverzeichnis
Recommend Papers

Formale Sprachen: Mit Anwendungen auf die Beschreibung natürlicher Sprachen [Reprint 2017 ed.]
 9783111372853, 9783484501638

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Romanistische Arbeitshefte

22

Herausgegeben von Gustav Ineichen und Christian Rohrer

Ursula Klenk

Formale Sprachen mit Anwendungen auf die Beschreibung natürlicher Sprachen

Max Niemeyer Verlag Tübingen 1980

CIP-Kuiztitelaufnahme der Deutschen Bibliothek Klenk, Ursula: Formale Sprachen : mit Anwendungen auf d. Beschreibung natiirl. Sprachen / Ursula Klenk. - Tübingen : Niemeyer, 1980. (Romanistische Arbeitshefte ; 22) ISBN 3-484-50163-4

ISBN 3-484-50163-4

ISSN 0344-676x

© Max Niemeyer Verlag Tübingen 1980 Alle Rechte vorbehalten. Ohne ausdrückliche Genehmigung des Verlages ist es auch nichtgestattet, dieses Buch oder Teile daraus auf photomechanischem Wege zu vervielfältigen. Printed in Germany. Druck: fotokop Wilhelm weihert KG, Darmstadt

V O R W O R T

Seit einiger Zeit beabsichtigte ich, ein einführendes Buch über formale Sprachen zu schreiben. Angeregt wurde ich dazu durch Seminare und Arbeitsgemeinschaften zur Syntax und Syntaxtheorie, die ich an der Universität Göttingen leitete und an denen vorwiegend Studenten sprachwissenschaftlicher Richtung teilnahmen. Das vorliegende Bändchen wendet sich an Linguisten und Informatiker, die mathematische Grammatikmodelle kennenlernen wollen. Es enthält die grundlegenden Definitionen, Sätze und Beweise der Theorie der Phrasenstrukturgrammatiken und führt auf dieser Grundlage in die Syntaxanalyse ein. Das ursprüngliche Vorhaben, auch die Theorie der Transformationsgrammatiken zu behandeln, konnte nicht ausgeführt werden, da damit der vorgesehene Umfang eines "Romanistischen Arbeitsheftes" beträchtlich hätte überschritten werden müssen. Dafür habe ich ein Kapitel über die heute viel verwendeten und den Transformationsgrammatiken in mancher Hinsicht nahestehenden erweiterten Netzwerkgrammatiken angefügt. Zum Schluß wird als weiteres für linguistische Beschreibungen in Betracht zu ziehendes Grammatikmodell die 2-schichtige Van-Wijngaarden-Grammatik vorgestellt. Um Nicht-Mathematikern den Einstieg in die Theorie zu erleichtern, wurde ein Kapitel über mathematische Grundbegriffe aus der Mengenund der Relationentheorie vorangestellt. Es wird erwartet, daß der Leser bereits elementare Kenntnisse der Logik hat. Für ein Verständnis der natürlich-sprachlichen Beispiele sollte er mit Beschreibungen von Ausschnitten natürlicher Sprachen vertraut sein, in denen die Methoden der generativen Grammatik angewendet werden. Wertvolle Anregungen zur Gestaltung des Bandes und inhaltliche Hinweise gab mir Herr Dipl.-Math. Helmut Hoos. Prof. Christian Rohrer half mir durch seine kritische Durchsicht des Manuskripts, den Band in seiner jetzigen Form fertigzustellen. Herr Jürgen Byn tippte mit

VI großer Sorgfalt das Manuskript reproduktionsfertig. Allen Beteiligten danke ich herzlich. Göttingen, im Juli 1980 Ursula Klenk

I N H A L T S V E R Z E I C H N I S

Verzeichnis der Symbole und Abkürzungen

IX

1. Mathematische Grundlagen 1.1. Mengen 1.2. Relationen und Funktionen 1.3. Rekursive Definitionen 1.4. Übungen

1 1 5 11 13

2. Formale Sprachen und Phrasenstrukturgrammatiken 2.1. Formale Sprachen, Grundlegendes 2.2. Phrasenstrukturgrammatiken und Sprachtypen 2.2.1. Produktionssysteme 2.2.2. Phrasenstrukturgrammatiken 2.2.3. Die Grammatiktypen 1 bis 3 2.2.4. Hierarchiebeziehungen zwischen Sprachtypen 2.2.4.1. Sätze über Hierarchiebeziehungen 2.2.4.2. Formale Sprachen und natürliche Sprachen 2.3. Abgeschlossenheitseigenschaften der Sprachen vom Typ 0 bis 3 2.4. Übungen 3. Syntaxanalyse 3.1. Einseitig-lineare Sprachen und endliche Automaten 3.2. Kontextfreie Syntaxanalyse und Netzwerkgrammatiken 3.2.1. Ein Syntaxanalyseverfahren für kontextfreie Sprachen 3.2.2. Bottom-Up-Analyse 3.2.3. Basis-Netzwerkgrammatiken 3.3. Erweiterte Netzwerkgrammatiken 3.4. Übungen

15 ...15 20 20 21 25 36 36 47 51 61 66 66 80 80 93 94 100 110

VIII 4. 2-schichtige Van-Wijngaarden-Grammatiken (2VWG) 4.1. Informelle Beschreibung der 2VWG 4.2. Formale Definition der 2VWG 4.3. Anwendungen 4.4. Übungen

113 113 118 119 122

5. Lösungen zu den Übungen

124

6. Literaturverzeichnis

137

7. Stichwortverzeichnis

139

V E R Z E I C H N I S DER UND A B K Ü R Z U N G E N

N 0 ~ A

v •• = := 3 V , > £ xBy mit A,B € V N und x,y £ V T ist. Sie heißt rechtslinear gdw y = e, links-linear

gdw x = e. Eine Regel heißt absohlie*

Bend gdw sie von der Form A —» x mit A £ V N und x £ V T ist. Abschließende Regeln der Form A — • e heißen Definition

2.2.3.5.

Tilgungsregeln.

(lineare Grammatik, Typ-3-Grammatik): Eine kon-

textfreie Grammatik G = (V N ,V T ,R,S) heißt linear gdw jede Regel aus R linear oder abschließend ist. Sie heißt reahts-linear links-linear) gdw jede Regel aus R rechts-linear oder abschließend ist. Sie heißt einseitig-linear

(bzw.

(bzw. links-linear) oder vom Typ 3

gdw sie entweder rechts-linear oder links-linear ist. Eine Typ-2-Sprache L ist eine Typ-3-Spraahe

(oder

einseitig-lineare

Sprache) gdw es eine Typ-3-Grammatik G gibt, so daß L = L(G). Beispiel

2.2.3.7.: Sei G = {S,A,B,C} , {a,b,c} ,R,S) mit R = {S — » aaS,

S —> bA, A —» aaA, A —» cB, B —> bbC, C —» c} . G ist eine rechtslineare Grammatik mit L(G) = { (aa) m b(aa) n cbbc Beispiel

I m,n > 0}.

2.2.3.8.: Sei G = ( {S,A,B,C,D},{Katze,Schlange,Maus,frißt,

beißt,sieht,die},R,S) mit R = {S —» die A, A —» Katze B, A —» Maus B, A — • Schlange B, B — • beißt C, B —> frißt C, B —> sieht C, C — • die D, D — • Maus, D — • Katze, D — • Schlange}. G ist rechtslinear und L(G) =

{die}{Katze,Maus,Schlange}{beißt,frißt,sieht}

{die}{Katze,Maus,schlänge}. Typ-3-Grammatiken und Typ-3-Sprachen spielen in der Theorie der formalen Sprachen eine wichtige Rolle, da sie verhältnismäßig einfach

31 handzuhaben sind. Dies wird in Kapitel 3 noch besonders deutlich werden. Für die Beschreibung natürlicher Sprachen werden Typ-3Grammatiken selten verwendet. Solange Grammatiken natürlicher Sprachen als Satzgrammatiken konzipiert werden, d. h. eine Grammatik genau die als korrekt angesehenen Sätze einer natürlichen Sprache erzeugen soll, sind Beschreibungen durch Typ-3-Grammatiken nicht sinnvoll, da sie sehr umfangreich und unüberschaubar werden würden. Dies sieht man schon, wenn man Beispiel 2.2.3.8. weiter ausbauen will: G erzeugt deutsche Sätze des Typs Nominalphrase'Verb^Nominalphrase, wobei die beiden Nominalphrasen aus dem bestimmten femininen Artikel im Singular und einem Nomen bestehen. Um alle möglichen Kombinationen mit dem maskulinen, femininen und neutrischen Artikel im Singular und Plural unter Berücksichtigung der Kasusformen zu erhalten, ferner um auch Sätze erzeugen zu können, die nur eine oder mehr als zwei Nominalphrasen enthalten, würde die Anzahl der Nicht-Terminalsymbole und der Regeln einer rechts-linearen Grammatik bereits recht groß. Dies hat seinen Grund darin, daß bei jedem Ableitungsschritt nur das am weitesten rechts stehende Symbolvorkommen einer Kette ersetzt wird. Man muß sich daher bei der Konstruktion einer solchen Grammatik fragen, mit welchen Wörtern ein Satz beginnen kann, welche Wörter an 2. Stelle folgen können, welche an 3. Stelle usw. Dabei erhält man für natürliche Sprachen im allgemeinen sehr viele Kombinationsmöglichkeiten. Es wurde sogar festgestellt, daß bestimmte in natürlichen Sprachen vorkommende Strukturen überhaupt nicht durch Typ-3-Grammatiken erfaßbar sind (vgl. dazu Kapitel 2.2.4.2. und Satz 2.2.4.1.8.) Ist zur Konstruktion von natürlich-sprachlichen Satzgrammatiken die Form der Typ-3-Grammatik nicht geeignet, so sieht es jedoch anders aus, wenn man Grammatiken für Satzteile wie Nominalphrasen, Verbalphrasen, Präpositionalphrasen herstellen will. Hier ist in Teilbereichen die Verwendung von Typ-3-Grammatiken wegen ihrer einfachen Uberprüfbarkeit durchaus in Erwägung zu ziehen. Im folgenden Beispiel geben wir eine Typ-3-Grammatik, die eine Teilmenge der franzöischen Nominalphrasenstrukturen erzeugt. Man möge dieses Beispiel gründlich durcharbeiten, da in Kapitel 3.1. darauf Bezug genommen wird. Daß die Grammatik Nominalphrasenstrukturen erzeugt, soll hier heißen, daß die Terminalsymbole der Grammatik nicht französische Wör-

32 ter sind sondern Symbole für lexikalische Kategorien, die für Mengen von französischen Wörtern stehen. Die Grammatik erzeugt also allgemeine Formen französischer Nominalphrasen. Um die Nominalphrasen selbst zu erhalten, braucht man nur an die Stelle der Kategoriensymbole ein Element der entsprechenden Wortmenge einzusetzen. Beispiel 2.2.3.9. : G = (V N ,V T ,R,N) mit V N =

{N,N1,N2,A,B,C1,C2,C3,

D1,D2,D3,D4,E1,E2,E3,E4,F1,F2,F3,F4,G1,G2,G3,G4,H} , V T = {a1,a2, a3,a4,q1,q2,n1fn2,n3,n4,ml,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,p,k}. Dabei stehen die Symbole aus V T für folgende Mengen französischer Wörter: a1

für {le,un,mon,ton,son,notre,votre,leur,ce} ,

a2

für {la,une,ma,ta,sa,notre,votre,leur,cette} ,

a3

für {les} ,

a4

für {mes,tes,ses,nos,vos,leurs,ces} ,

q1

für die Zahlwörter deux, trois usw.,

q2

für {plusieurs},

n1

für maskuline Nomen im Singular,

n2

für feminine Nomen im Singular,

n3

für maskuline Nomen im Plural,

n4

für feminine Nomen im Plural,

m1

('m' für Modifizierer) für maskuline Adjektive im Singular,

m2

für feminine Adjektive im Singular,

m3

für maskuline Adjektive im Plural,

m4

für feminine Adjektive im Plural,

m5

für maskuline Adjektive im Singular,-

m6

für feminine Adjektive im Singular,

m7

für maskuline Adjektive im Plural,

m8

für feminine Adjektive im Plural,

m9

für maskuline Adjektive im Singular,"

m10

für feminine Adjektive im Singular,

m11

für maskuline Adjektive im Plural,

m12

für feminine Adjektive im Plural,

p

('p1 für Präposition) für {de},

k

(*k' für Konjunktion) für {et,ou}.

die dem Nomen vorangestellt werden,

die dem Nomen nachgestellt werden,

R besteht aus folgenden 7 5 rechts-linearen Regeln:

N —

N1 ,

N — N2, NI — » a1 C1 N1 — a2 C2 N1 — a3 A, N1 — a4 A, N1 — N1 — » N1 N1 — A — N2 — B -> B — B — B —

a3 C3 a4 C3 q1 C3 q2 C3 q1 C3 P B, a3 D3 a4 D4 m7 D3 m8 D4

Ci — n i E i Ci — » ni H Ci — ni C1 — m5 D1 C2 — m6 D2 C3 — m7 D3 C3 — m8 D4 Di — ni E i D i — ni H Di — ni E i — mi F i E1 — m9 H, E1 — m9, E2 — m10 H E2 — m10, E3 — mi 1 H E3 — E4 — E4

mi 1, m12 H m12,

für i € {1,2,3,4}

für i 6 {1,2,3,4}

34 Fi —» mi Fi ^ Fi —• k Gi Gi —> mt H

für i £ {1,2,3,4},

Gi —• m i

H — p N1 , H —• k N1, H —• k N2. Um rechts-lineare Grammatiken übersichtlicher zu gestalten, kann man eine Diagrammdarstellung, wie folgt, wählen: Für jedes Nicht— Terminalsymbol setzt man einen Knoten • und etikettiert ihn mit M dem entsprechenden Symbol, z . B . • . Das Startsymbol wird durch N

einen offenen Pfeil gekennzeichnet, z. durch Pfeile verbunden, die mit Ketten kettiert sind: Ist A xB mit A,B £ V N R, so führt ein Pfeil vom Knoten A zum A

t

B.-* . Die Knoten werden aus V T * folgendermaßen etiund x £ V T * eine Regel aus Knoten B und ist mit x eti-

kettiert: V- . Wir sagen 'B wird von A aus mittels x erreicht1. Gibt es mehrere , mittels derer von einem Knoten A aus ein Knoten B erreicht wird, so schreiben wir A• *""•'*"—yi . Für abschließende Regeln der Form A —» x wird ein Endknoten T eingeführt und ein mit x etikettierter Pfeil von A nach T. Unsere Beispielsgrammatik wird durch Abb. 2.2.3.1. wiedergegeben. Um Elemente aus L(G) zu erhalten, braucht man nur vom Anfangsknoten N aus mittels der Pfeile von Knoten zu Knoten bis zum Endknoten T zu gehen und die Etikette der durchlaufenden Pfeile fortlaufend miteinander zu verketten. So sind z. B. 1) a2 n2 m2 m2 k m2, 2) p a3 n4 m12 k p a3 n3 m11 aus L(G), also Nominalphrasenstrukturen des Französischen. 1) liegt z. B. der Phrase La ville gründe, sale

et bruyante,

2) z. B. des maisons

blanahes

et des

javdins

verts zugrunde. Durch Worteinsetzung erhalten wir allerdings de les statt des , de le statt du und de, le, la vor Vokal statt d' bzw. I'. Hier müssen noch weitere morphologische Ersetzungen formuliert werden, damit man die korrekten französischen Formen erhält. Die Grammatik erfaßt nicht den Fall mehrerer Adjektive vor dem Nomen. Um auch diesen Fall zu beschreiben, muß sie um einige Nicht-Terminalsymbole und Regeln erweitert werden.

35 Abbildung

2.2.2.1.

36 2.2.4.

Hierarchiebeziehungen zwischen Sprachtypen

2.2.4.1. Sätze über Hierarchiebeziehungen Es sei fc die Menge aller Typ-i-Grammatiken,^ die Menge aller Typ-iSprachen für i € {0,1,2,3}, Grammatiken und

die Menge aller kontextsensitiven

die Menge aller kontextsensitiven Sprachen. Aus

den Definitionen in Kapitel 2.2.3. und Satz 2.2.3.1. ergeben sich folgende Hierarchiebeziehungen: %

c

% 0. Dafür gibt es aber auch ^ xB . . .B y -=+ z, und, da dies auf i n Ki gibt es eine Ableitung

xA, . . .A y T-» xB, . . .B y i nr ftj 1 n men mit 1. gilt die Behauptung.

z . Daher gilt L (G, ) 1

S

Beispiel

L (G„) . ZusamS

2.2.4.1.3.: Konstruktion einer kontextsensitiven Grammatik

G^ zu einer Typ-1-Grammatik G, so daß L(G.|) = L(G): Sei G = ({S,A, B,C} , {a,b,c} ,R,S) mit R = {S —» ABA, AB—» BA, A —* AC, A —» a, AC —» CA, B —> b, C —» c}. G ist bereits eine separierte Grammatik. R besitzt zwei in einer kontextsensitiven Grammatik nicht zulässige Regeln, nämlich AB —• BA und AC — • CA, alle anderen Regeln sind zulässig. Wir konstruieren V N 1 = {S,A,B,C,D 1 ,D 2 ,E 1 ,E 2 ) und R 1 = {S —• ABA, A —• AC, A —» a, B —» b, C — • c}U{AB —• D^B, D^B —•

d

1

d

2

'

D

1D2

BD

2'

BD

2 ~* BA}U{AC —

E^C, E^C —

E.^,

E 1 E 2 —» CE 2 , CE 2 —» CA}. G 1 = (V N 1 ,V T ,R 1 ,S) ist eine zu G äquivalente kontextsensitive Grammatik. Da, wie wir gesehen haben, für jede Typ-1-Grammatik eine äquivalente kontextsensitive Grammatik gefunden werden kann, ist die Frage naheliegend, ob es auch für jede kontextsensitive Grammatik eine zu dieser äquivalente kontextfreie Grammatik gibt. Die Frage ist zu verneinen. Es gilt Satz 2. 2.4.1.3.: Es gibt eine Typ-1-Sprache, die nicht vom Typ 2 ist, also Jf^ c

.

Um diesen Satz zu beweisen, müssen wir drei weitere Sätze über kontextfreie Grammatiken beweisen. Satz 2. 2.4.1.4. s Zu jeder kontextfreien und zugleich kontextsensitiven Grammatik G = (V N ,V T ,R,S) gibt es eine äquivalente Grammatik G

= (V N ,V T ,R 1 ,S), für die Folgendes gilt: Jede Regel aus R 1 ist

von der Form

4o 1) A —> x mit A € V N und l(x) > 1 oder 2) S —• x mit x € V T oder x = e. Der Satz besagt also, daß Endketten der Länge 1 in G 1 nur direkt vom Startsymbol abgeleitet werden können. Ausgeschlossen sind in G 1 Regeln der "Form A —» B mit A,B £ V N und A —• x mit x £ V T und A ? S. Folgerung: Zusammen mit Satz 2.2.3.1. gilt: Zu jeder kontextfreien Grammatik G gibt es eine äquivalente kontextfreie Grammatik G^ mit G 1 wie in Satz 2.2.4.1.4. Beweis von Satz 2.2.4.1.4.: Sei V„ U V m = V. Für Jjedes x £ V wird N T eine Folge von Mengen U i (x) rekursiv, wie folgt, definiert: 1. U 1 (x) = {x} , 2. U i + 1 (x) = U ± (x) U {y I y £ V und es gibt ein z £ U ± (x) mit z — • y} für i > 1. Das heißt, daß für jedes x £ V gilt: U 1 (x) enthält genau x, U 2 (x) enthält x und alle Symbole y 1 £ V, für die es eine Regel x — • y^ € R gibt, U 3 (x) enthält U 2 (x) und alle Symbole y 2 € V, für die es eine Regel z —• y 2 aus R mit z € U 2 (x) gibt, usw. für alle U i + 1 (x) und y^ £ V. Da V endlich ist, gibt es ein i, i < card(V), für das U^ix) = Uj(x) für jedes j, j > i, gilt. Die Folge der U^ix) verändert sich also nach höchstens n Gliedern, n = card(V), nicht mehr, und für jedes x enthält U (x) genau die Symbole y, für die x y n x gilt (zur Reflexivität von —» vgl. Definition 2.2.1.2.) . Folglich gehört ein a £ V T zu L(G) gdw a 6 u (S). G^ wird folgendermaßen konstruiert: R. enthält 1) alle Regeln der Form W —• w„...w mit 1 i m W,w. £ V (1 < i < m) und m > 2, für die es eine Regel X —• x^...xm aus R mit X £ U (W) und ein w. mit w. £ U (x.) gibt, und 2) alle n i i n i ' Regeln der Form S —• a mit a € V T n U n (S) sowie S —> e, falls diese Regel aus R ist. R^ enthält damit nur Regeln der gewünschten Form. Es ist leicht zu sehen, daß G und G 1 äquivalent sind. Wegen der nach 1) gebildeten Regeln von R^ gibt es für jede Ableitung W -J» X "5+ x... .x„ w,...w mit m > 2 eine Ableitung W —• w, . . .w » » I m f l m 4 , 1 m und umgekehrt für jedes W —• w....w eine Ableitung W 4* X »4 1 m S 6 w x^...xm -j?* w^.. .wm. Die nach 2) gebildeten Regeln von R 1 bewirken, daß L(G) und L(G 1 ) dieselben Ketten der Länge 1 enthalten. Ist

41 e € L(G), so gilt s € MG.,). Daher gilt L(G) = L (G.,), w.z.b.w. Beispiel

2.2.4.1.4.:

Konstruktion einer kontextfreien Grammatik G 1

zu einer gegebenen Grammatik G, wobei G 1 und G wie in Satz 2.2.4.1.4.: Sei G = {S,A,B,C} , {a,b,c},R,S) mit R = {S —* A, S —• BS B —» C, B —• aBc, B —• b, A —» a, C — • c} . G card(V N U V T ) = 7 . Es gilt

(

W

R

1 '

S

)

'

U 1 (S) = {S} , U 2 (S) = {S,A}, U 3 (S) = {S,A,a} = U 4 (S} = U ? {S}, U 1 (A) = {A} , U 2 (A) = {A,a} = U 3 (A) = U ? (A), ^

(B) = {B} ,

U 2 (B) =

{B,C,b},

0 3 ( B ) = {B, C, b, c} = U 4 (B) = U ? (B), U 1 (C) = {C} , U 2 (C) = {C,c}

= u3(c) = U 7 (C) ,

U 1 (a) = {a} = U 2 (a) = U ? (a), U 1 (b) = {b} = U 2 (b) = U ? (b), U 1 (c) = {c} = U 2 (c) = U ? (c). R 1 = R' U R' 1 mit R' = {S —» a} nach 2) des Beweises von Satz 2.2.4.1.4. R 1 ' entsteht nach 1) des Beweises, wie folgt: Für S —• BS werden die Regeln S —* BS, S —• BA, S —• Ba, S —• cS, S —• cA, S —• ca, S —• bS, S —• bA, S —» ba, S —• CS, S —• CA, S — • Ca, für B —» aBc die Regeln B — • aBc, B —• aCc, B —» abc, B — • acc eingeführt. Dies sind alle Regeln von R''. Damit ist R^ und folglich G^ konstruiert. Definition

2.2.4.1.2.

(Chomsky-Normalform): Eine kontextfreie Gramma-

tik G = (V N /V T ,R,S) steht in Chomsky-Normal form gdw jede Regel aus R von folgender Form ist: 1) A —» BC oder 2) A —» a mit A,B,C € V N und a € V T -

42 Satz 2.2.4.1.5.1 Für jede kontextfreie Grammatik G, für die £ f. L(G), gibt es eine kontextfreie Grammatik G c h in Chomsky-Normalform, so daß L(G) = L(G c h )• Beweis: Nach Satz 2.2.4.1.4. gibt es zu G eine äquivalente kontextfreie Grammatik G 1 , die nur Regeln der Form A —• x mit l(x)

>2

oder x £ V T enthält. Zu G 1 gibt es nach Satz 2.2.4.1.1. eine äquivalente separierte Grammatik G g , die ebenfalls kontextfrei ist. Sei G s = (V N ,V T ,R,S). Nach der Konstruktion im Beweis von Satz 2.2.4.1.1. enthält R nur Regeln der Form A —• x mit l(x) ä 2 oder x € V T - Für jede Regel ^

aus R der Form A —» B 1 ...B n mit B 1 ,...,B n € V N und

n > 2 werden neue Nicht-Terminalsymbole

c

i»»»*» c n _2

und

folgende

Regeln eingeführt: A —» B 1 C 1 , C.. —» B_. + 1C..+1 für jedes j mit 1 £ j S n-3, C —» B ,B . Sei R, ' diese Regelmenge und N . = n-2 n-I n l i {C 1 ,...,C n _ 2 }, wobei V N n N ± = 0 und kein Element aus N ± in Regeln eines R k ' mit k ?! i auftritt. Sei R' = G

(V

V

R

S)

mit

V

V

R i ' und V' = y

U V

Ch = N,Ch' T' Ch' N,Ch = N ' R'' genau die Regeln aus R N der Form A x

Und

R

R

N±.

U R

Ch = ' " ' WObel mit l(x) = 2 oder x € V T

enthält. G c h steht in Chomsky-Normalform. Man sieht leicht, daß L ( G c h ) = L(Gg) und damit M G c h ) = L(G). Der Beweis geht analog zu dem von Satz 2.2.4.1.2. Beispiel

2.2.4.1.5.:

Konstruktion einer kontextfreien Grammatik

G^

in Chomsky-Normalform zu einer gegebenen kontextfreien Grammatik G: Sei G = ({S,A,B}, {a,b} ,R,S) mit R = {S — • ABSA, S — • ABAB, A —• a, B —• b}. G ist bereits separiert und erfüllt die formalen Forderungen von G_ im Beweis von Satz 2.2.4.1.5. Daher können wir G direkt in G^

umwandeln. Sei V

die Regelmenge die Regelmenge Dann ist R_, = cn

V V V

= V N,Ch N = {S -» A C 1 = {S

— AD 1

u {c1, C '

C D

1

-

' 1 U R 2 ' U {A —» a, B

2

Für S —» ABSA wird

,D1FD2}.

B C 2 , C 2 —• S A } , für S —» ABAB BD2,

—•

D 2 —» AB}

b} .

eingeführt.

Satz 2.2.4.1.6.: Für jede kontextfreie Sprache L gibt es natürliche Zahlen p und q, so daß für jedes z € L mit l(z) > p gilt: Es gibt W

1 ' W2'

w

3' w4'

w

5

'

so

daß

2 x

= W1W2W3W4W5'

wobei

1

) KWjYi'

-

1

2) w 2 w 4 ji e und 3) w 1 w 2 w 3 w 4 w 5 6 L für jedes i > 0 gilt. Beweis: Ist e £ L, so werden p und q für L - {£} bestimmt. Sie erfüllen 1) bis 3) dann ebenfalls für L. Auf Grund von Satz 2.2.4.1.5.

43 gibt es für L - {e} eine kontextfreie Grammatik G =

(V N ,V T ,R,S),

welche bereits in Chomsky-Normalform steht, mit L(G) = L - {e} . Wir betrachten Ableitungen z, —» ... —* z in G mit l(z,) = 1 und i n i £ V T *. Sei (A 1 ,...,A k ) ein k-Tupel T^ von Symbolen aus V N mit k > 1, wobei, falls k > 1, für jedes A^ (1 < i < k-1) und irgendwelche s,t,x,y £ (VN U V^,) * gilt: A 1 —• s A i + 1 t , und es gibt ein z^ = xA^y (1 ^ j < n-1), so daß z j+ -| = x s A l + 1 t y gilt. Sei T^ so, daß es für z 1 — • ... — > z kein T, mit h > k gibt. Behauptung: Dann gilt , n n i l(z n ) < 2 . Beweis der Behauptung: Die Behauptung gilt für k = 1 , da dann n = 2 und l(z n ) = 1

< 2 ^ . Angenommen, die Behauptung gilt für ein festes

(k-1) > 1. Für jede Ableitung z 1 —» ...

—> z , für die es ein T^

und kein T h mit h > k gibt, gilt: z 1 = Z, z 2 = XY mit Z,X,Y £ V N , und es gibt höchstens zwei (k-l)-Tupel

für z 2 —• ...

—'

z

n

(wobei an deren erster Stelle das X- bzw. das Y-Vorkommen von z 2 steht). Daher gilt zn = ab mit l(a) < 2 k _ 1 und l(b) < 2 k ~ 1 . Also k-1 k-1 k gilt l(z ) < 2 k ' + 2* = 2k. Sei u = card(V^). Wir setzen p = 2 U und g = 2 U + ^ und betrachten ein beliebiges z £ L mit l(z) > p. Dann gibt es für jede Ableitung S

z

ein T, mit k > u+1. Also gibt es ein X £ V„, welches in T. mink N k destens zweimal vorkommt. Seien X^ und X 2 diese beiden Vorkommen von X. Es gilt: X kann so gewählt werden, daß für T^ = =

X

= A

für

zwe

(A 1 ,...,A k )

mit

gilt: X^ 2 j i i'j (k-u) < i < j < k. X sei im Folgenden derart gewählt. Sei z = v11 v10 vJ0 v.v £1 V * [ : mit 1v.,,...,v 4 b c fc) „ f» 3 * # und S v.Xv,. -p* v 1 v_Xv.v c -r* v.v_v^v.v c , wobei das X-Vorkommen in 6 1 5 6 12 4 5 f 1 2 3 4 5 (a) gleich X^ und das X-Vorkommen in (b) gleich X 2 ist (man beachte, daß für X auch das Startsymbol stehen kann, dann sind v 1 und v,. eventuell leer). Dann gilt X —* V 2 V 3 V 4

•'•^V2V3V4^ ~ 2 U + ^ = q

und, da G in Chomsky-Normalform steht, v 2 v^ ^ e. Sei v^ = w^ für jedes i £ {1,2,3,4,5}. Dann gilt 1) und 2) des Satzes. Da es in G eine Ableitung S -2» w^w,. es in G auch eine Ableitung S w^ w 2

w^ w^

w ^ w 2 X w 4 w 5 -S* v^w^vr^^w^ gibt, gibt w^Xw 5

w^w2Xw4w5

w^ w 2 * X w ^

Wg für jedes i > O. Also gilt 3) des Satzes. Da-

mit ist der Satz bewiesen. Wir sind nun in der Lage, Satz 2.2.4.1.3. zu beweisen. Beweis dieses Satzes: Wir brauchen nur eine Typ-1-Sprache L zu finden, die nicht kontextfrei ist, d. h. die einer der Bedingungen 1)

w^

44 bis 3) von Satz 2.2.4.1.6. nicht gehorcht. Wir wählen L = {a n b n c n I n > 1} und zeigen, daß L nicht kontextfrei und vom Typ 1 ist. Angenommen, L ist kontextfrei. Seien p und q natürliche Zahlen, so daß 1) bis 3) von Satz 2.2.4.1.6. für L erfüllt ist. Sei z. 6 L, k k k z^ = a b c mit k > p/3. Dann gibt es Teilketten w^,...,w5 von z^, so daß z.j = w^W2W2WjjWg gilt, wobei v^w^ ^ e und alle Ketten z^ = w 1 W2 1 w 3 w 4 x w 5 mit i £ 0 aus L sind. Dann können sowohl w 2 als auch w 4 nur Ketten der Form a 9 , b h oder c 3 mit g,h,j > 0 sein, da 2

2

sonst in Wj bzw. w^ a-, b- oder c-Vorkommen in gemischter Reihenfolge auftreten würden, was in Ketten von L aber nicht vorkommt. Da w 2 w 4 ^ e und da mit wachsendem i die Länge von W2 1 w^ 1 zunimmt, andererseits w^, w^ und w^ unverändert bleiben, müssen auch solche z^ zu L gehören, wo die Anzahl der a-, b- und c-Vorkommen ungleich ist. Es gibt in L aber keine solche Ketten, also ist die Annahme, L sei kontextfrei, zu einem Widerspruch geführt, also ist L nicht kontextfrei. Wir zeigen, daß L vom Typ 1 ist. Dazu wird eine Typ-1-Grammatik G konstruiert, für die L(G) = L gilt. Sei G = i{S,A,B},{a,b,c},R,S) mit R = {S —» aSA, S —» aB, BA —> bBc, cA —> Ac, B —> bc} . (1) (2) (3) (4) (5) Die Regeln (1) und (2) erzeugen alle Ketten der Form a n + 1 B A n mit n > 0. Um Elemente von L(G) zu erzeugen, kann l2)» falls nur (3) angewendet werden. Nimmt man (5), so gelangt man n > i in eine Sackgasse. Also erhalten wir a n + 1 b B c A n _ 1 , durch (n-1)-malige Anwendung von (4) dann a n + ^bBA n ^c. Daraufhin kann wieder nur (3) angewendet werden, ohne daß man in eine Sackgasse gerät, dann (n-2)-mal die Regel (4) usw., so daß schließlich a n + ^b n Bc n und durch (5) a n + 1 b n + 1 c n + 1 erhalten wird. Da dies die einzige Ableitungsmöglichkeit für Ketten aus L(G) ist, ergibt sich L(G) = L. Damit ist der Satz bewiesen. Damit ist bewiesen, daß die Menge der Typ-2-Sprachen eine echte Teilmenge der Typ-1-Sprachen ist, also«£c.iJ. Es bleibt noch zu zeigen, daß die Menge der einseitig-linearen Sprachen,*^? , eine echte Teilmenge v o n i s t . Wir zeigen zuerst Satz 2.2.4.1.7.: Die Menge der rechts-linearen Sprachen ist gleich der Menge der links-linearen Sprachen.

45 Das heißt: Jede einseitig-lineare Sprache ist sowohl rechts- als auch links-linear. Beweis des Satzes: Sei L die Sprache, die von einer rechts-linearen Grammatik G = (VN,VT,R,S) erzeugt wird. Dann gibt es eine links-lineare Grammatik G 1 = (V N1 ,V T ,R 1 ,S 1 ) mit L(G^) = L(G) = L. Ohne Beschränkung der Allgemeinheit können wir nach Satz 2.2.4.1.4. davon ausgehen, daß R keine Regeln der Form A —• B mit A,B 6 V N enthält sowie als Tigungsregel höchstens S —» e vorkommt (andernfalls könnten wir eine solche rechts-lineare Grammatik, die zu G äquivalent ist, konstruieren). Wir konstruieren G^ folgendermaßen: Sei S^ ein neues Symbol, S 1 { V N - V N 1 = V N U {s.,} . 1) Zu jeder Regel der Form A —• xB aus R mit A,B 6 V N , x 6 V T * gibt es in R^ die Regel B —» Ax. 2) Zu jeder Regel S —» xB aus R gibt es in R.^ B —• x. 3) Zu jeder Regel der Form A —» x aus R mit x 6 V T * - {e} gibt es in R1 S 1 —» Ax. 4) Für jede Regel der Form S —• x aus R mit x 6 V T * ist S 1 — • x aus R^. Damit ist R^ konstruiert. Sei y =

ein beliebiges Element aus L(G) mit a^ € V T für

jedes i £ {1,...,n}. Dann gibt es in G entweder eine Ableitung S —> a^...an oder eine Ableitung S —• cl* • • • cl . A« 1 11 1 a

1

ä 4 • • i ä • ä . . 4 • • • ä . Aa 11+1 12 2

1"""'"ai2'"'aim_^''"aimAm

* • • •

•*

—» a^...an, wobei 1 < m < n,

1 < i.. < ... < i < n gilt. Dabei werden in der zweiten Ablei1 m tung folgende Regeln aus R nacheinander angewendet: S —• a r . . a i A r A 1 — a ± 1 ...a ± A 2 ,... f A m — + 1 > ..a n . i i z m Dann gibt es in G^ (*„) entweder eine Ableitung S^ —* a^...a nach (4) oder eine Ableitung S. —• A a. ......a —» A. a. ^....a. a. ±1 ...a 1 m im +1 n im-1. im-1-+1 i m im+ 1 n ...

® A„a. , „. . . a. ...a. 1 l i z m- i

...a. ...a i n m

* a * . . . a . ,....au 1 1. + 1 n 1

46 wie in (*) . Dabei werden folgende Regeln aus

mit

R. nacheinander angewendet: S, —• A a. ...... a , A —> 1 1 m l +1 n m m ia-

m- i

......a. /..., A, —» a....a, . Diese Regeln entstehen m 1

nach 1), 2) und 3) aus den Regeln von R. Damit ist gezeigt, daß jedes y 6 L(G), y ^ e, auch von G^ erzeugt wird. Sei nun y = a^...a n ein beliebiges Element aus L(G^). Dann gibt es in G 1 eine Ableitung

(**). Gilt S 1 -j* a.j...an, so gilt S -j* a^...a n

nach 4). Sonst entsteht die Regel S, —• A a. i m i +i m Regel A„ —» a. ± ,..,a m i + l n m A

n

aus R. aus der 1

von R nach 3), entstehen die Regeln J A

m

—•

.a. ,....a ,..., A_ —» A,a. ^....a. aus R, nach 1) aus den m-1 I m 2 1 i,+1 1 m-1 1 2

Regeln A

., —» a. t 1 ...a, A m-1 l .+1 I m' m- i m

entsteht Ä. —» a....a, 1 1

A, —• a. ...... a. A_ von R, und ' 1 2 1 2

aus R. nach 2) aus der Regel S —• a....a. A.. 3 1 1 1

von R. Das sind genau die Regeln von (*), und also gibt es eine Ableitung (*) in G, welche y erzeugt. Damit ist gezeigt, daß jedes y £ L (G.j) , y ^ e, auch in L(G) ist. Für den Fall y = e gilt S —* e und S 1 -r* e. Damit ist gezeigt, daß 6 I ^ L (G) = L (G.j) , w.z.b.w. Beispiel

2.2.4.1.6.: Konstruktion einer links-linearen Grammatik G 1

aus einer gegebenen rechts-linearen G: Sei G =

({S,A,B},{a,b,c},R,S)

mit R = {S —• aS, S —» aA, S —• bB, S —» c, A —• bS, B —» cS} . Dann ist G 1 = ( { S j A ^ j S ^ , {a,b,c} ,R1 ,S 1 ) mit R 1 = {S —» Sa, A —» Sa, B —» Sb, S —> Ab, S U {S1 —

Bc} U {S —> a, A —• a, B —• b) U {S^ —> Sc}

c} .

Satz 2.2.4.1.8.: Es gibt eine kontextfreie Sprache:, die nicht einseitig-linear ist. Folgerung: ij c

47 n

Beweis: Sei L = {a ba

n

I n > 0} . L wird, wie man unmittelbar sieht,

durch die kontextfreie Grammatik G = ({S},{a,b},{S — • aSa, S — • b},S) erzeugt. Behauptung: L ist nicht einseitig-linear. Beweis der Behauptung: Angenommen, L ist einseitig-linear. Sei G' = (VN',Vt,R',S) eine rechts-lineare Grammatik mit L(G) = L. Sei R'' = {A —• x I A —» x £ R' A l(x) > 2}. Sei die maximale Länge IllclX der rechten Seiten der Regeln aus R'' und u = card(R''). Sei k eine beliebige natürliche Zahl, für die 2k > 1__„ • u gilt. Dann werden ^ in jeder Ableitung S akba k mindestens (u+1)-mal Regeln aus R'1 angewendet, d. h. mindestens eine Regel zweimal. Es gibt also in G 1 eine Ableitung S

xA

x y A x y z

mit xyz = a k ba k , wobei A € V N ,

x,z € V T * und y £ V T * - {e} gilt. Daher ist auch

xy 1 z

für jedes

i > 0 aus L. Ferner kann in y kein b vorkommen, da dann in y 1 i-mal J b vorkommen würde, und also gilt y = ai mit j > 0 . Da xyz = a kba k, gilt für jedes i > 1 entweder xy 1 z = a k a^'^ i - 1 ^ba k oder xy 1 z = k k i • (i-1) a ba a J . Solche Ketten sind aber nicht aus L, also ist die Behauptung zu einem Widerspruch geführt. Also ist L nicht einseitiglinear, w.z.b.w. 2.2.4.2. Formale Sprachen und natürliche Sprachen In der Linguistik hat man sich die Frage gestellt, welcher Gr'ammatiktypus für die syntaktische Beschreibung natürlicher Sprachen theoretisch ausreicht. Natürliche Sprachen werden dabei als unendliche Mengen von Sätzen angesehen ausgehend von der Auffassung, daß durch wiederholte Einbettung und Reihung von Satzteilen beliebig lange Sätze gebildet werden können. Man vergleiche hierzu die einschlägigen linguistischen Einführungen in die generative Syntax. Die Annahme der Unendlichkeit einer natürlichen Sprache ist deswegen von Bedeutung, da jede endliche Menge von Sätzen eine einseitig-lineare Sprache ist ( man überlege, wie eine einseitig-lineare Grammatik für eine endliche Sprache aussehen kann!). Somit stellt sich die Frage, welcher Grammatiktypus ausreicht, nur für unendliche Sprachen. Uns sind aus natürlichen Sprachen keine syntaktischen Erscheinungen bekannt, die sich nicht mit einer kontextsensitiven Grammatik erfassen lassen. Somit kann man davon ausgehen, daß kontextsensitive

48

Grammatiken hinreichen, und es stellt sich die Frage, ob man sogar mit kontextfreien oder einseitig-linearen Grammatiken auskommen kann. In Bezug auf einseitig-lineare Grammatiken zeigte N. Chomsky (Syntaotio Struotures, 1957), daß es bezüglich des Englischen linguistisch bedeutsame Mengen von Sätzen gibt, die sich durch solche Grammatiken nicht erfassen lassen. Chomsky ging dabei vom endlichen Automaten aus. Da es, wie wir in Kapitel 3.1. sehen werden, eine Äquivalenz zwischen endlichen Automaten und einseitiglinearen Grammatiken hinsichtlich der durch diese Formalismen beschriebenen Sprachen gibt, gilt Chomskys Argumentation auch für diese Grammatiken. Die Erzeugung von Ketten durch einseitig-lineare Grammatiken geht ja so vor sich, daß jeweils bei Anwendung einer nicht abschließenden Regel genau ein neues Nicht-Terminalsymbol erzeugt wird und dieses, je nachdem ob die Grammatik links- oder rechts-linear ist, Anfangsstück oder Endstück der erzeugten Kette ist. Im weiteren Verlauf der Ableitung kann nicht mehr auf die diesem Nicht-Terminalsymbol folgenden bzw. vorangehenden Terminalsymbole Bezug genommen werden. Daher ist es nicht möglich, irgendwelche Abhängigkeiten von diesen Terminalsymbolen zu beschreiben. Dies ist aber erforderlich zum Beispiel, um die SPrache L = {anban I n > 0} zu erzeugen, von der wir gezeigt haben, daß sie nicht einseitig-linear ist. Angenommen, eine Kette a bA mit k > 1 wäre durch eine einseitig-lineare Grammatik erzeugt, wobei A ein Nicht-Terminalsymbol ist. Um ein Element aus L zu erhalten, müßten noch genau k weitere a-Vorkommen erzeugt werden, also müßte man im Verlauf der weiteren Ableitung auf die Anzahl k Bezug nehmen können, und dies ist gerade nicht möglich. Chomsky gibt folgendes Beispiel einer Satzmenge im Englischen, die nicht durch eine einseitig-lineare Grammatik erzeugt werden kann. Wir zitieren (Syntaotio Struotures, S. 22): "Let

be declarative sentences in English. Then we can

have such English sentences as: (11) (i) If S.,, then S 2 . (ii) Either S 3 , or S 4 > (iii) The man who said that S_, is arriving today.

49 In (11 i), we cannot have "or" in place of "then"; in (11 ii) , we cannot have "then" in place of "or"; in (11 iii), we cannot have "are" instead of "is". In each of these cases there is a dependency between words on opposite sides of the comma (i.e., "if" - "then", "either" - "or", "man" - "is"). But between the interdependent words, in each case, we can insert a declarative sentence S^, S^, Sg, and this declarative sentence may in fact be one of (11 i-iii). Thus if in (11 i) we take S 1 as (11 ii) and S 3 as (11 iii), we will have the sentence: (12) if, either (11 iii), or S 4 , then S 2 , and Sj. in (11 iii) may again be one of the sentences of (11). It is clear, then, that in English we can find a sequence a+S^+b, where there is a dependency between a and b, and we can select as S^ another sequence containing c+S2+d, where there is a dependency between c and d, then select as Sj another sequence of this form, etc. " Chomsky fährt fort, daß eine Menge von Sätzen, die so konstruiert ist, auf Grund der beschriebenen Abhängigkeiten - spiegelbildlichen Eigenschaften, wie er sagt - nicht zu den "finite state"-Sprachen gehört. Mit diesen sind genau die einseitig-linearen Sprachen gemeint. Daß eine solche Satzmenge nicht einseitig-linear ist, sollte durch unsere obige Argumentation hinreichend klar sein. Wir weisen noch darauf hin, daß Chomskys Satzmenge als unendliche konstruiert ist, da durch wiederholte Einbettung von Sätzen S^, S2,... beliebig viele Sätze gebildet werden können. Man kann also im Bereich der natürlichen Sprachen Satzmengen finden, die für die Beschreibung dieser Sprachen wichtig sind (und dies gilt nicht nur für das Englische) und die nicht einseitig-linear sind. Es bleibt zu fragen, ob allgemein kontextfreie Grammatiken ausreichen. P. Postal (1964) zeigte an Hand der Indianersprache Mohawk syntaktische Erscheinungen auf, auf Grund deren sich Satzmengen, die nicht kontextfrei sind, konstruieren lassen. Konstruktionen, die darauf hindeuten, daß eine kontextsensitive und nicht kontextfreie Grammatik zugrunde zu legen ist, scheinen jedoch in natürlichen Sprachen ziemlich selten zu sein. Es ist anzunehmen, daß man unter Vernachlässigung besonderer Randfälle mit kontext-

5o freien Grammatiken auskommt, um hinlänglich große Mengen von Sätzen erzeugen zu können. Es ist jedoch nicht angemessen, zu sagen, daß eine natürliche Sprache von irgendeinem Typ-i (0 < i < 3) sei. Die Begriffe Typ-0 bis 3 gelten für formale Sprachen, und diese Sprachen sind mathematisch definierte und damit genau abgegrenzte Objekte. Natürliche Sprachen sind empirisch vorgegeben, und hier haben wir die bekannten Probleme der Abgrenzung. Solche rühren z. B. daher, daß das, was man als eine natürliche Sprache ansieht, im allgemeinen kein homogenes Gebilde sondern eins nebeneinander bestehender und sich überlagernder sprachlicher Subsysteme, Dialekten, ist. So steht man vor der Frage, welche dialektalen Varianten durch eine Grammatik erzeugt werden sollen, welche nicht. Um hier von einer Sprache vom Typ i sprechen zu können, ist es erforderlich, die Satzmenge, die erzeugt werden soll, hinreichend genau im voraus abzugrenzen, so daß man Kriterien bekommt, um sagen zu können, welche Ketten Sätze dieser Menge sein sollen und welche nicht. Man kann z. B. von einer Standardsprache, die von einer normativen Grammatik (z. B. die Duden-Grammatik für das Deutsche) festgelegt ist, ausgehen. Nur ein derart abgegrenzter Bereich kann auf Grund einer Typ-i-Grammatik, die ihn erzeugt, sinnvoll als Typ-iSprache bezeichnet werden. Unsere Erörterung über die Anwendbarkeit von Typ-1- oder Typ-2Grammatiken auf natürliche Sprachen ist rein theoretischer Art. Es geht darum, welcher Grammatiktypus prinzipiell ausreicht, und nicht darum, ob es auch zweckmäßig ist, Grammatiken diesen Typs zu verwenden. Die Zweckmäßigkeit hängt von den Forderungen ab, die man an eine Grammatik zusätzlich zu der Forderung, daß die Sätze einer Sprache korrekt erzeugt werden, stellt. So kann man z. B. fordern, daß die Regeln einer Grammatik semantisch interpretierbar sind in dem Sinn, daß auf jede Produktionsregel eine Interpretationsregel bezogen ist. Auf Grund dieser und weiterer Forderungen hat man für natürliche Sprachen z. B. den in diesem Band nicht behandelten Typus der Transformationsgrammatik (zumeist mit einer PSG-Basis) sowie erweiterte Netzwerkgrammatiken (vgl. Kapitel 3.3.) vorgeschlagen, da diese Grairanatiktypen formal reicher als Typ-1- oder Typ-2Grammatiken sind und daher über mehr Darstellungsmöglichkeiten ver-

51 fügen. Die Diskussion darüber, welche Grammatiktypen für die Beschreibung natürlicher Sprachen geeignet sind, ist nicht abgeschlossen. Da einige Grammatiktypen definert wurden, die hierfür interessant sein können, deren Anwendung auf natürliche Sprachen aber bisher kaum untersucht wurde (wie z. B. 2-schichtige VanWijngaarden-Grammatiken, vgl. Kapitel 4.), sind auf diesem Gebiet noch neue Ergebnisse zu erwarten. Noch eine Bemerkung zur Annahme, daß natürliche Sprachen unendliche Satzmengen sind. Es handelt sich um eine Folgerung daraus, daß Sätze beliebiger Länge gebildet werden können. Diese Annahme ist jedoch zu hinterfragen. Man muß, um sie einschätzen zu können, zunächst wissen, was ein Satz einer natürlichen Sprache sein soll, insbesondere welche Koordinationen von Sätzen (Reihungen mit und, oder oder bloße Aneinanderfügung von Sätzen) wieder Sätze sein sollen, wieviele Nebensätze bestimmter Art ineinander geschachtelt werden können usw. In der generativen Grammatik hat man in diesen beiden Punkten sowie anderen, wie z. B. Reihung von attributiven Adjektiven, keine Begrenzungen auferlegt, ausgehend von der Überlegung, daß obere Begrenzungen nur sehr willkürlich gesetzt werden können. Dies berechtigt, wie ich meine, jedoch nicht, den mathematischen Begriff 'unendlich' auf solche Satzmengen anzuwenden. Angemessener erscheint es mir, diese Mengen in Bezug auf die obere Länge der Sätze als 'unbestimmt' zu bezeichnen. Sei M eine solche Satzmenge. Für eine formal definierte Grammatik G, die M beschreibt, wird L(G), ein mathematisch definertes Objekt, unendlich sein. Wir müssen nur folgende Bedingung in Bezug auf das Verhältnis zwischen M und L(G) stellen: M ist eine Teilmenge von L(G), und L(G) - M enthält nur solche Ketten, die durch übermäßige Längenentwicklung entstehen. Diese Darstellungsweise schafft Klarheit in den Begriffen, und läßt der Arbeit des Linguisten den nötigen Spielraum, um geeignete Abgrenzungen zu finden. 2.3. Abgeschlossenheitseigenschaften der Sprachen vom Typ 0 bis 3 In diesem Kapitel werden einige Sätze über Vereinigungsnengen, Verkettungsprodukte und Einsetzungen von Typ-i-Sprachen

(0 < i < 3) be-

wiesen. Es handelt sich um Eigenschaften dieser Sprachen, die für

52 das Schreiben von Grammatiken ausgenutzt werden können. Satz 2.6.1.: Seien L 1 und L 2 formale Sprachen vom Typ i (0 < i < 3) . Dann ist auch L^ U I>2 vom Typ i. Beweis: Seien G 1 = (VfJ1 ,V T1 ,R1 ,S 1 ) und G 2 = < V N 2 ' V T 2 , R 2 ' S 2 } Grammatiken (0 < i < 3) mit L(G^) = L 1 und L(G 2 ) = L 2 >

T

yP_i_

Ohne Beschränkung der Allgemeinheit können wir davon ausgehen, daß V

N1

n V

N2

=

Sollten

für

zwei gegebene Typ-i-Grammatiken die

Mengen der Nicht-Terminalsymbole nicht disjunkt sein, so kann man durch Umbenennung von Symbolen die Mengen disjunkt machen. Um den Satz zu beweisen, konstruieren wir eine Grammatik G 3 mit L(G 3 ) = L 1 U L 2 , wobei G 3 wieder vom Typ i ist: G 3 =

(V N 3 ,V T 3 ,R 3 ,S 3 )

V T 3 = V T1 U V T2 N 3 = V N1 U V N2 U i S 3 } ' { S 3 } n (VN1 U VN2> = S 1 und S 3 —• S 2 und R 3 = R 1 U R 2 U {S3 — • S^, S 3 — • S 2 ). Da S 3

mit V

den Typ nicht verändern, ist G 3 vom Typ i. Aus S 3 können nur S 1 und S 2 direkt abgeleitet werden und daraus wird L(G 1 ) bzw. L(G 2 ) erzeugt. Daher gilt L(G 3 ) = L^ U L 2 . L^ U L 2 ist also vom Typ i, w.z.b.w. Für mehrere Sprachen L^,...,L

von demselben Typ i gilt, wie man

sich leicht überlegt: L^ U ... U L r ist vom Typ i. Man sagt: Die Menge der Typ-i-Sprachen ist abgeschlossen in Bezug auf die Vereinigung soperation. Linguistische Anwendung: Angenommen, für einen abgegrenzten Bereich B einer natürlichen Sprache soll eine Grammatik geschrieben werden. Man kann zunächst versuchen, Grammatiken für Teilmengen von B zu schreiben, so daß die Vereinigungsmenge dieser Teilmengen B ist. Sind alle diese Grammatiken PSGs von demselben Typ i, so gibt es eine Typ-i-Grammatik, deren Sprache B ist. Sei z. B. B = D U Q U I, wobei D eine Menge von Deklarativsätzen, Q eine Menge von Fragesätzen und I eine Menge von Befehlssätzen ist. Sind D, Q und I die Sprachen von kontextsensitiven Grammatiken G D , GQ bzw. Gj, so läßt sich aus diesen eine neue kontextsensitive Grammatik G D gewinnen, D deren Sprache B ist. Satz 2.3.2.: Seien L 1 und L 2 Sprachen vom Typ i (0 < 1 < 3). Dann ist auch L^L 2 und L^ * vom Typ i. (Zu L.j * vgl. Definition 2.1.9.)

53

Beweis: 1. Beweis für Sprachen vom Typ i, i € {0,1,2}: Seien G 1 = (V N 1 ,V T 1 , R.j , S .j) und G 2 = ( v N 2' V T2' R 2' S 2^

T

y P ~ i - G r a I t m a t ; i - k e n » wobei LtG^ =

und L(G 2 ) = L 2 > Ohne Beschränkung der Allgemeinheit können wir davon ausgehen, daß G^ und G 2 separiert sind und daß V N 1 n V N 2 = 0. Sei G 3 = (V n 3 ,V T 3,R3,S 3 ) mit V N 3 = V N 1 U V N 2 U {S3}, {S3} n (VN1 U V N 2 ) = 0 und R 3 = R 1 U R 2 U {S3 —» S . ^ } . G 3 ist wieder vom Typ i, und es gilt L(G 3 ) = l I l 2 -

Für

Typ-2-Grammatiken G 1 und G 2 e

"''n Möglicherweise

ist dies unmittelbar klar: Wegen S 3 — •

leeres) Anfangsstück jeder von G 3 erzeugten Kette k aus L^ und das nach Abzug dieses Anfangsstücks übrigbleibende Teilstück von k aus L 2 - Da V ^

und V N 2 disjunkt sind und G^ und G 2 separiert, haben die

Regelmengen R 1 und R 2 keine Wechselwirkung aufeinander, und daher gilt der Satz auch, wenn G^ und G 2 jeweils vom Typ O oder vom Typ 1 sind. Um den Satz für L^* zu beweisen, müssen wir Typ-O-, Typ-1- und Typ2-Sprachen getrennt behandeln. a) Sei L 1 vom Typ 2 und G 1 = (V N 1 ,V T 1 ,R 1 ,S 1 ) eine Typ-2-Grammatik mit L(Gi)= L

r

Sei G = (VN1 U {S},VT1,R,S) eine PSG mit S t V N 1

und R = R 1 U {S —> S S ^ S — • e} . Da durch S —» SS1 und S —• e beliebig lange Ketten

erzeugt werden und da G auch t, welches

ja aus L.j* ist, erzeugt, gilt offensichtlich L(G) = L^*- G ist vom Typ 2, also ist L^ * vom Typ 2. b) Sei L 1 vom Typ 1 und G 1 = (V N 1 ,V T 1 ,R 1 ,S 1 ) eine Typ-1-Grammatik mit L (G.j) =

Um eine PSG G mit L (G) = L.j* zu konstruieren, kön-

nen wir nicht wie in a) verfahren, da es dann Ableitungen folgender Art geben kann: S^S^ —• xuvy —• xwy mit x,u,v,w,y Ketten und u,v ungleich e, wobei S^ —• xu und S^ — • vy. Durch die Anwendung der Regel uv —• w kann es geschehen, daß die Ableitung zu einer Endkette führt, die nicht aus L^* ist. Wir gehen wieder davon aus, daß G^ separiert ist. Wir konstruieren eine neue Grammatik G 1 ' = ( v ni'' v t1 » r i , » s i') gendermaßen:

fl

V ^ —>

Re

A £

' '

mit

M G ^ ' ) = L^ fol-

' = 0. Sei f eine bijektive Funktion, f: 9eln

aus

R

1 ' entstehen dadurch, daß für jedes

alle A-Vorkommen in den Regeln aus R^ durch f(A) ersetzt

werden und die übrigen Symbole an ihrer jeweiligen Stelle erhalten

54 bleiben. G^' unterscheidet sich also von G^ nur durch Umbenennung der Nicht-Terminalsymbole. Dabei gelte f(S^) = S^ ' . Sei G = (VN,VT1,R,S) eine PSG mit V N = V N 1 U V N 1 ' U {S} , S t V N 1 U V N 1 ' und R = (R1 U R1 ' U R') - {S1 e, S.,' —• e}, wobei R' = {S —» S 1 , S —• S 1 S 1 *, S —» S 1 S 1 'S, S —» e} . G ist vom Typ 1. Durch S —• e wird e € L^* erzeugt. Durch R' werden S^ sowie beliebig lange Ketten S 1 S 1 ' . . .S1S1 ' und S . ^ ' .. . S ^ ^erzeugt. Da V N 1 und V N 1 ' disjunkt sind und G1 und G 1 ' separiert, gilt offensichtlich L (G) = L.j * . c) Sei L 1 vom Typ 0 und G1 = ( V N 1 , V T 1 , S 1 ) eine Typ-O-Grammatik mit L (G.j) = L-j • U m ein G mit L(G) = zu konstruieren, können wir nicht wie in b) verfahren, da es eine Ableitung S^ e geben kann, wobei Si über mehrere Ableitungsschritte zu e führt. Die Konstruktion von G ist hier folgendermaßen: G = (VN,VT1,R,S) mit V N = V N 1 U {S,X,Y,Z,U} , {S,X,Y,Z,U}n V N1 = 0 , R = R1 U R', wobei R" «= {S —» XYZ, Y —• S^UY, Y —» e, UZ -* Z, XZ —» e} U {aZ —• Za I a £ V T1 >. In jeder Ableitung S x mit x 6 L(G) werden zunächst die Regeln S —» XYZ, Y —• S^UY und Y —» e angewendet. Diese erzeugen alle Ketten X ^ U ) 1 ^ mit n > 0. Falls n = 0, wird die Regel XZ —• e angewendet und e € L(G) geliefert. Falls n ^ 0, können nur UZ —• Z und Regeln aus R1 benutzt werden. Die Regeln aZ —» Za lassen Z nach links wandern, bis ein Symbol aus V N direkt vor Z zu stehen kommt. Das nächste U wird daher nur erreicht, wenn aus dem ihm in X(S^U)nZ rechts direkt folgenden S 1 eine Endkette, also ein Element aus L(G^) abgeleitet wurde. Dann wird wieder UZ —• Z angewendet. Die U-Vorkommen wirken als Trenner zwischen den aus den S^ abgeleiteten Ketten. Ist Z bis vor X gelangt, so werden X und Z durch XZ —• e getilgt, so daß eine aus S abgeleitete Endkette stehen bleibt. Jede solche Endkette ist offensichtlich aus L-j*, und da Endketten nur auf die beschriebene Weise erzeugt werden können, gilt L (G) = L.j * . Damit ist der Beweis für Typ-i-Sprachen für i € {0,1,2} geliefert. 2. Beweis für Typ-3-Sprachen: Seien L1 und L 2 Typ-3-Sprachen und G1 = (V N1 ,V T1 ,R 1 »S^ und G 2 = (V N2 ,V T2 ,R 2 ,S 2 ) Typ-3-Grammatiken, wobei L(G^) = L1 und L(G2) = L2" A u f G r u n d v o n S a t z 2.2.4.1.7. können wir davon ausgehen, daß G1 und G 2 rechts-linear sind. Ferner

55

nehmen wir wieder V.N1 l V„_ T, f N2 = 0 an. Sei G 3 = (V N 3 / V T 3 ,R 3 ,S 1 ) mit V N 3 = V M 1 ü V N 2 , V T 3 = V T 1 R 3 = (R1 - {A —

ü V T 2 und

x I A — • x € R 1 A x € V T 1 *}) U R' U R 2 , wobei

R' = {A — • xS 2 I A — • x £ R 1 A x € V T 1 *}. Das heißt, daß jede abschließende Regel A — • x aus R 1 durch A —» xS 2 ersetzt wird. G 3 ist vom Typ 3. Sei S^

y eine Ableitung in G 3 mit x € L(G 3 ). Dann ist

ein (möglicherweise leeres) Anfangsstück von y duich Regeln nicht aus R 2 und das nach Abzug des Anfangsstücks übrigbleibende Teilstück von y durch Regeln aus R 2 erzeugt. Die Regeln aus R 2 kommen erst zur Anwendung, wenn zum ersten Mal ein S 2 erzeugt wurde. Dies ist nur mittels einer der Regeln aus R' möglich. Wir erhalten daher in G 3 eine Ableitung S^ -S» uS 2 v € 1*2 • Also gilt L (G) £ L 1 L 2 "

Für

uv, uv = y, mit u € L^ und jedes Y

e L

1L2

Y

=

uv

S. -f» u, also SuS_, und S„ v, also S, uS_ uv. Daher 1 t4 ' 1 «, 2 2 6, 1 »/ 2 L erhalten wir ( G 3 ) • Also gilt L(G 3 ) = L^L 2 , und L-jI^ ist vom Typ 3. Sei G = (V N 1 ,V T 1 ,R,S 1 ) mit R = R^ U R'* U {S1 —» £} , wobei R'' = {A — • xS 1

l A — • x £ R^ A x € V T 1 *}. G ist vom Typ 3. Durch R 1 wird

L 1 und durch R'' werden alle möglichen Verkettungen von ELementen aus L^ erzeugt. Da auch e € L(G), ist offensichtlich L(G) = L^*. L^ * ist vom Typ 3. Damit ist der Satz bewiesen. Für mehrere Sprachen demselben Typ i gilt, wie man leicht sieht: L^..,L

von ist vom Typ i.

Man sagt: Die Menge der Typ-i-Sprachen ist abgeschlossen in Bezug auf das Verkettungsprodukt und die Sternbildung. Linguistische Anwendung: Angenommen, D sei eine Menge von Deklarativsätzen einer natürlichen Sprache. Seien in D nur einfache Sätze und alle die Sätze, die durch Koordination dieser einfachen Sätze mit Konjunktionen entstehen. Die Menge der einfachen Sätze sei E. Wir gehen davon aus, daß es für E eine PSG G ß gibt mit L(G^) = E. Sei V^ die Menge aller in den Sätzen aus D vorkommenden beiordnenden Konjunktionen, die Sätze koordinieren. Die Menge solcher Konjunktionen in einer natürlichen Sprache wird endlich sein, also nehmen wir V R als eine endliche Menge an. Dann ist V R vom Typ 3 und auf Grund der Sätze in Kapitel 2.2.4.1. sogar von jedem Typ i (0 < i 5 3). Die Menge D ist nun darstellbar als die Vereinigungs-

56

menge von E, EV„E also D = (EV„.) K und allen Mengen EV„EV„.. K J\ .EV„E, K K *E (diese Darstellung läßt allerdings unberücksichtigt, daß es Kontextabhängigkeiten zwischen koordinierten Teilsätzen eines Satzes geben kann). Da Gg von einem gegebenen Typ i, also E vom Typ i ist, ist auch EV„. vom Typ i und ebenfalls (EV„)*. Setzen wir (EV„.) * = M. Dann ist D = ME und auch D vom Typ i. Um eine PSG G mit L(G) = D zu konstruieren, braucht man nur G_ Ci und eine Typ-i-Grammatik, deren Sprache V R ist, zugrunde zu legen und die in Satz 2.3.2. angegebenen Verfahren darauf anzuwenden. Definition 2.3.1. (Einsetzung): Sei V ein Alphabet. Für jedes a £ V sei V

ein Alphabet. Die Vereinigungsmenge aller V sei V . Wir de3 a u finieren rekursiv eine Funktion T, T : V* —» V G *, wie folgt: 1. T(e) = fe} , 2. -r(a) c V * für jedes a 6 V, 3. t(ax) = T(a)x(x) für jedes a £ V, x £ V*. Die Funktion T heißt Einsetzung. Für jedes M £ V* sei t(M) := W t (x) . xsM Definition 2.3.2. (Homomorphismus): Seien V, V, und V_ wie in Defiu a nition 2.3.1. Eine Einsetzung t, t : V*-*Vg* heißt Homomorphismus gdw für jedes a £ V gilt: -r(a) enthält genau ein Element aus V cl*. Satz 2.3.3. (Einsetzungssatz für Typ-2-Sprachen): Sei L eine Typ2-Sprache über einem Alphabet V T , und sei für jedes a £ V T t(a) eine Typ-2-Sprache über einem Alphabet V . Dann ist t(L) vom Typ 2. Beweis: Sei L = L(G) mit G = (VN,VT,R,S) einer Typ-2-Grammatik und V T = {a^,...,an}. Für jedes a^ (1 < i n , R = R. U . . . U R U R' U R' 1 U R' 1 ' U {§5 —• YS, Y —» e} , wobei i n g i l t : R' e n t s t e h t aus R, indem f ü r j e d e s a^ € VT a l l e a^-Vorkommen i n den Regeln a u s R durch A^ e r s e t z t w e r d e n , R ' ' = {YA^ —• YS^ I 1 < i < n ) , R ' 1 1 = {Ya —» aY I a € V T 1 U . . . U V T n ) . Wir z e i g e n , daß L(5) = T(L) g i l t . S e i x e i n b e l i e b i g e s Element aus x ( L ) . Es g i l t x € x(a.

...a.

Für j e d e s a und S .

1

j

1 • :

) mit k > 1, gilt:

1 YS i YA i z Y S i z1 Y^z., * x

iyai2z2

x^...xk-1Yxk

x

r •'xk-iYzk-i

¥t

~~* x r " x k - i

* Y A

—• x ^ . . . x k f ü r A^ , . . . 6

i

k

x

r"xk-i

{A^,...,An)

Y S

und

i

k

~'"

59 S. ,...,S. £ { S i1 ik i

S

}. Y kann von seiner Stelle nur wegbewegt n r*

werden, wenn ein Symbol aus V T direkt auf Y folgt. Dieses Symbol kann nur in einer Kette stehen, die aus einem S^ abgeleitet ist, und S^ kann nur durch YA^ —• YS^ eingeführt werden. Dadurch und da G und die G^ separiert und V N und die V N ^ disjunkt sind, ist sichergestellt, daß in einer Ableitungszeile höchstens ein S^ und in einem einzigen Vorkommen auftritt und daß aus diesem zunächst ein Element aus L(G i ) abgeleitet wird, bevor ein weiteres solches Startsymbol erzeugt wird. Um ein Element aus L(G) zu erhalten, können wir Y erst tilgen, wenn S^

erzeugt ist. Andernfalls blockiert

die Ableitung bei einer Ableitungszeile, in der noch Symbole aus V., U (A.,. . . ,A } vorkommen. Da für jedes x. (1 < j < k) S. x. N T n J i j D gilt, ist x. 6 t(a. ). Daher gilt x € t(a. ...a. ). Auf Grund der 3

obigen Ableitung gibt es auch S

X

1

YS —• YA. ...A. , so daß i A « * 1 k

4 *• S —• A. ...A. und folglich S —• a. ..,a. x x £ k « X1 k

gilt. Also ist x £ T(L).

Sei nun x = e. Dann gilt 3" -j» YS -j* Y -¡g c, so daß S

e. Damit

ist auch e aus T(L). Wir haben somit gezeigt, daß L(S) C. T(L). Also gilt: L(G) = T(L). Da G vom Typ 0 ist, ist T(L) vom Typ 0, w.z.b.w. In Bezug auf die durch Satz 2.3.3. und 2.3.4. ausgedrückte Eigenschaft sagt man: Die Menge der Typ-2-Sprachen und die Menge der Typ-O-Sprachen sind abgeschlossen in Bezug auf die Einsetzung. Entsprechende Einsetzungssätze gelten auch für Typ-1-Sprachen, welche das leere Wort nicht enthalten, und für Typ-3-Sprachen. Wir können die Beweise hier nicht geben, da sie weitere Definitionen und Sätze voraussetzen und so durch ihre Länge den Rahmen dieses Bandes sprengen würden. Die Beweise finden sich in MAURER (1969), SALOMAA (1973). Noch zwei Bemerkungen zu den Einsetzungssätzen: 1. Man kann leicht auf den Gedanken kommen, die Einsetzungssätze ließen sich auf folgende Art beweisen: Sind L und die L(G-) (1 S j < n) von demselben Typ i (O < i £ 3), so ist für jedes x fc L T(x) ein Verkettungspro-

6o dukt von Typ-i-Sprachen, also nach Satz 2.3.2. selbst vom Typ i. T(L) ist die Vereinigungsmenge W T(X), also nach Satz 2.3.1. vom X*L

Typ i. Dies ist jedoch ein Trugschluß. Satz 2.3.1. gilt nur, wenn die Anzahl der zu vereinigenden Mengen endlich ist. Ist L unendlich, so muß die Vereinigungsmenge unendlich vieler Mengen gebildet werden, und darauf ist Satz 2.3.1. nicht anwendbar. 2. Man könnte denken, Satz 2.3.4. sei trivial, da ja alle formalen Sprachen vom Typ 0 seien. Nach Definition 2.1.7. ist jede Teilmenge eines V* eine formale Sprache. Es gibt nun formale Sprachen, die von keinem Typ i sind, für die es folglich auch keine PSG gibt (Beweis vgl. SALOMAA 1973). Deswegen ist Satz 2.3.4. nicht trivial. Linguistische Anwendung: Sei L ein abgegrenzter Bereich einer natürlichen Sprache, wobei L eine Menge von Sätzen ist. Wir nehmen an, daß L eine Typ-i-Sprache für ein i e {0,...,3} ist. Um L zu erzeugen, kann man folgendes Verfahren ins Auge fassen: Man konstruiert zunächst eine PSG Ggt» deren Sprache die Menge der Satzstrukturen ist, die den Sätzen von L zugrunde liegen. Diese Satzstrukturen sollen wie im Beispiel 2.2.3.9. Ketten aus Symbolen sein, die für lexikalische Kategorien wie Nomen, Verb usw. stehen. Die Symbole für die lexikalischen Kategorien sind also die Terminalsymbole von Jeder lexikalischen Kategorie K ist eine nicht-leere Wortklasse V R zugeordnet, so z. B. der Kategorie 'Nomen' die Menge der Nomina, die in den Sätzen von L vorkommen. Die Vereinigungsmenge der V R sei das Vokabular, über dem L gebildet ist. Um L zu erhalten, bildet man T(L(Ggt)), wobei x (K) = V K für jedes K ist. In natürlichen Sprachen sind im allgemeinen Kontextabhängigkeiten zwischen den in einem Satz vorkommenden Wörtern vorhanden, so daß die Klassifizierung in Wortklassen fein genug gemacht werden muß, damit durch Einsetzung keine Wortketten entstehen, die nicht in L sind. So ist z. B. Artikel"Nomen~Verb eine Satzstruktur der deutschen Standardsprache. Artikel, Nomen und Verb stehen jeweils für eine lexikalische Kategorie. Setzen wir V, . .. ,, V„ 3 Artikel' Nomen

und V„ , Verb

ein, so erhalten wir sowohl den deutschen Satz die Katze, miaut als auch die Kette das Katze miaut, welche kein deutscher Satz ist. Durch eine feinere Klassifizierung, wie sie die Strukturen femininer (bzw. maskuliner bzw. neutrischer) Artikel"feminines (bzw. maskulines bzw. neutrisches) Nomen°Verb aufweisen, wird die Bil-

61

dung von im Deutschen unkorrekten Ketten eingeschränkt. Gehen wir davon aus, daß das Vokabular von L durch ein vollständiges Wortformenlexikon ( d. h. ein Lexikon, in dem alle morphologischen Formen aufgeführt sind) gegeben ist. Damit nehmen wir an, daß für jedes K V„ i\ eine endliche Menge und also von jedem Typ i (0 £ i £ 3) ist (Bis auf den Fall von Wortzusammensetzungen wird die Endlichkeit der Wortklassen allgemein in der Linguistik angenommen. Zusammengesetzte Wörter sind durch Regeln abzuleiten.). Ist Ggt von einem bestimmten Typ i und werden durch die Einsetzung der Wortklassen für die ihnen jeweils zugeordneten Kategoriensymbole genau die Sätze von L gebildet, so ist auch L von diesem Typ i. Eine andere Möglichkeit für die Bildung der Sätze von L bietet die Konstruktion von Grammatiken für morpholog"ische Formen. So kann man Nominalformengrammatiken, Verbalformengrammatiken usw. konstruieren. Für jede lexikalische Kategorie K wird ein Vokabular W R , welches die Wortstämme und morphologischen Partikel (wie z. B. Endungen) der Elemente von V K enthält, zugrunde gelegt und auf dieser Grundlage eine Grammatik G„ hergestellt, deren Sprache V„ ist. Wegen der Endlichkeit von V R kann dies eine PSG sein (In der Praxis werden wegen nötiger phonologischer Umwandlungen zumeist Grammatiken, die auch Transformationsregeln enthalten, verwendet. Man vergleiche die einschlägige Literatur, z. B. MAYERTHALER 1974). Damit haben wir zwei Möglichkeiten aufgezeigt, L zu erzeugen. Im ersten Fall sind die einzusetzenden Mengen vorgegeben. Im zweiten Fall werden Grammatiken dafür geschrieben, wobei diese Grammatiken etwas über die Bildungsweise der Wortformen aussagen. Man kann, ausgehend von dieser Basis, aus Ggt und der Menge G R eine Gesamtgrammatik G, deren Sprache L ist, konstruieren. 2.4. Übungen 1. Gegeben ist die Menge M = {abcd, ab, cdef, ef}. Folgende Ketten sind das Ergebnis von Verkettung von Elementen aus M: a) b) c) d)

abcdef, efabcd, ababcdef, abcdefabcdef.

Welche Zerlegungsmöglichkeiten in Elemente von M gibt es für а) bis d)? Gegeben ist die PSG G = (VN,VT,R,S) mit V N = {S,A,B,C}, V T = {a,b,c} und R folgender Regelmenge: 1)

S —• aAc,

aA - * BS, 3) Ac —• bAB, 4)abA —» cBaC,

2)

5) aC —• e, б)

B —

b,

7)

C —• c.

Für folgende Ableitungen in G gebe man für jeden Ableitungsschritt an, welche Regel angewendet wurde! a) S —> aAc —» abAB —• cBaCB —» cBB —» cbB —» ebb b) aAc —* BSc —• BaAcc —» BBScc —» BBaAccc —» BBabABcc —• BBcBaCBcc —» bBcBaCBcc —• bbcBaCBcc —» bbcbaCBcc —» bbcbacBcc —• bbcbacbcc Im Folgenden werden einige PSGs angegeben. Man stelle jeweils fest, von welchem Typ i (0 < i < 3) sie sindl 1) G 1 sei die PSG aus Übung 2. 2) G 2 = ({S,A,B,E}, (a,b,c,d,e),R2,S) mit R 2 folgender Regelmenge: S S S A A B E

—» —• —• —» —» —• —»

ScS, aS, AB, b, cd, EA, e.

3) G 3 = ( {S,A,B,C,D}, {a,b,c,d},R3,S) mit R 3 folgender Regelmenge : S —• ABS, S —

C,

BS _» bOS, Ab —» ab,

A —• a, B b, C —» c, D —* d. 4)

G 4 = ({S,A,B,C,D,E},{ein, eine, großer, dicker, Hund, Katze, beißt},R4,S) mit R^ folgender Regelmenge: S A B C D E

—» —• —» —» —» —»

ein A, großer dicker B, Hund C, beißt D, eine E, Katze.

Im Folgenden werden einige kontextfreie Grammatiken angegeben. Man stelle für jede fest, welche Sprache sie erzeugt (man gebe die Sprache durch einen mengentheoretischen Ausdruck oder eine informelle Beschreibung an)I 1) G^ = ({S},{p,et,vel,non},R1,S) mit R1 folgender Regelmenge: S S S S

—» —» —» —»

S et S, S vel S, non S, p.

2) G 2 = ({EXPRESSION, TERM},{natzahl, +, -, •},R2,EXPRESSION) mit R 2 folgendem Regelsystem: EXPRESSION —• TERM + EXPRESSION, EXPRESSION —• TERM • EXPRESSION, EXPRESSION —• TERM, TERM —» natzahl, TERM —* - natzahl. 3) G 3 = ( {S,A,B,C},{a,c} ,R3,S) mit R 3 wie folgt: S S A B

-» — —» —»

ASB, C, aBc, £,

G

4 = S — X —» X —» Y —» A —» B —» G

( {S,X, Y,A,B,C}, {a,b,x},R4 ,S) mit R 4 wie XY, AXB, x, CA, a, b.

5 = ({S,E}, {a,b} ,R5,S) mit R 5 wie folgt:

S —• aS, S —» aE, aE —» Ea, E —• b. 1) Man schreibe eine einseitig-lineare Grammatik, welche die Menge der natürlichen Zahlen (in Dezimaldarstellung) beginnend bei 0 erzeugt! 2) Man schreibe eine einseitig-lineare Grammatik, welche die Menge der durch 2 teilbaren natürlichen Zahlen beginnend bei 0 erzeugt! 3) Man schreibe eine einseitig-lineare Grammatik, welche M G g ) von Übung 4. erzeugt! Gegeben ist die kontextfreie Grammatik G = ( {S,A,B,C,DJ,{a,b,c}, R,S) mit R wie folgt: S A B B B C C D

—• ABA, —> a, —» CBD, b, —» e, —» c, —» e, -» d.

Es werde zu G eine kontextfreie Grammatik G^ ohne Tilgungsregeln, so daß L(G.j) = L(G) , konstruiert! Gegeben ist die kontextfreie Grammatik G = ({S, NP, VP, ADVB, DET, PP}, {neg, n, v, pron, art, num, präp, adv, nompr},R,S) mit R wie folgt:

65

S —• NP VP, S —• NP VP ADVB, S —• neg NP VP, S —» neg NP VP ADVB, NP —» nompr, NP —» pron, NP —» DET n, DET —» art, DET —> num, VP —• v, VP —> V NP, VP —• v S, VP —» V ADVB, VP —» V NP ADVB, VP —• V ADVB S, ADVB —» adv, ADVB —> PP, PP —*• präp NP. Man konstruiere zu G eine kontextfreie Grammatik G c h in Chomsky-Normalform, so daß L(G ch ) = L(G)I 8.

Gegeben ist das Alphabet A = {art, nom, v, [, ], [, ], [, ],} s s tt nr w . und die Sprache L = {( [ [art nom] [v)n [art nom] (] ])n I n ä 1}. Man zeige, j

ur

*p

y/r

nt

«r

vp j

daß L kontextfrei, aber nicht einseitig-linear ist! Sei L 1 = { (art nom v) n art nom I n £ 1}. Man zeige, daß L 1 einseitig-linear ist!

3.

S Y N T A X A N A L Y S E

Bei der Syntaxanalyse geht es um die Frage: Ist eine gegebene Symbolkette x aus einer gegebenen formalen Sprache L (Enthaltenseinsproblem)? Zu entwickeln sind allgemeine Verfahren, die diese Frage beantworten. Ferner sind Ketten x in Bezug auf eine Grammatik G mit x e L(G) "Strukturen" zuzuordnen. Ein Typ von Struktur ist z. B. der des Generationsbaumes (vgl. Kapitel 3.2.1.) . Strukturen sind bedeutsam in Hinblick auf eine semantische Interpretation von Ketten. Ein 'allgemeines Verfahren' oder 'Algorithmus' ist nach HERMES (1971) ein Verfahren, "mit dem man die Antwort auf jede einschlägige Frage durch eine simple Rechnung nach einer vorgeschriebenen Methode erhält". Weiter heißt es: " Wenn hier von einem allgemeinen Verfahren die Rede ist, so soll darunter stets ein Prozeß verstanden werden, dessen Ausführung bis in die letzten Einzelheiten hinein eindeutig vorgeschrieben ist. Dazu gehört insbesondere, daß die Vorschrift in einem endlichen Text niedergelegt werden kann." Für jede Typ-1-Sprache L gibt es einen Algorithmus, der für jede Kette x über dem Alphabet der Terminalsymbole von L entscheidet, ob x £ L(G) oder nicht. Es gibt Typ-O-Sprachen, für die es keinen solchen Algorithmus gibt (Beweise vgl. SALOMAA 1973). 3.1.

Einseitig-lineare Sprachen und endliche Automaten

Einen Automaten kann man sich als Gerät vorstellen, das Symbolketten lesen und verarbeiten kann. Die Menge dieser Ketten ist jeweils die Sprache des Automaten. Die wichtigsten Automatentypen sind: endliche Automaten, Kellerautomaten, linear beschränkte Automaten, Turingmaschinen. Es gilt: Die Sprache jedes endlichen Automaten ist vom Typ 3 , und jede Typ-3-Sprache ist die Sprache eines

67 endlichen Automaten. Der Satz gilt analog für Kellerautomaten und Typ-2-Sprachen, für linear beschränkte Automaten und Typ-1-Sprachen, für Turingmaschinen und Typ-O-Sprachen. Wir behandeln aus Platzgründen nur endliche Automaten (zu den anderen Automatentypen vgl. MAURER 1969). Mit ihnen kann man das Enthaltenseinsproblem für Typ-3-Sprachen entscheiden. Sie bilden eine Grundlage für die in Kapitel 3.2.3. behandelten Netzwerkgrammatiken. Ein endlicher Automat läßt sich anschaulich, wie folgt, vorstellen: Er besteht aus einem Kasten, der Steuereinheit. Diese kann endlich viele Zustände annehmen. An dem Kasten befindet sich ein Lesekopf, unter dem Lesekopf ein Band, das in nebeneinanderliegende Felder aufgeteilt ist, das Eingabeband. Auf jedem Feld ist ein Symbol eingetragen. Der Lesekopf steht über einem Feld des Eingabebandes und liest das darauf stehende Symbol. In Abhängigkeit von diesem Symbol und dem Zustand, in dem sich die Steuereinheit befindet, rückt das Eingabeband um ein Feld nach links oder nach rechts. Die Steuereinheit geht dabei entweder in denselben oder in einen anderen Zustand über, oder sie findet keinen Übergangszustand. Im letzten Fall wird das Eingabeband nicht weiter abgearbeitet, der Automat hält an. Bewegt sich das Eingabeband jedesmal in dieselbe Richtung, so spricht man von einem einseitigen endlichen Automaten. Man unterscheidet davon zweiseitige endliche Automaten. Bei einem solchen kann sich das Eingabeband sowohl nach links als auch nach rechts bewegen. Die Arbeitsweise eines einseitigen endlichen Automaten wird durch folgende Abbildung veranschaulicht. Abbildung

3.1.1.

Lesekopf' Eingabeband

Steuereinheit im Zustand Z

A2

A

3

A

5 ... A n

h

A

2 A 3 ä4

• • •

A

n

SteuereinSteuereinAbarbei- heit im heit im Zustand Z' ten des Zustand Z'' (i+1). ten Feldes fr-

68

Da die zweiseitigen endlichen Automaten dieselbe Sprachenmenge wie die einseitigen festlegen, sich also von diesen nicht wesentlich unterscheiden, behandeln wir nur die einseitigen und sprechen in Bezug auf diese kurz von endlichen Automaten. Man unterscheidet zwischen deterministischen und non-deterministischen endlichen Automaten, abgekürzt FDA (finite deterministic automaton) bzw. FNA (finite non-deterministic automaton). Bei FDAs ist der Zustand, in den die Steuereinheit bei Abarbeitung des gelesenen Symbols abhängig vom gegenwärtigen Zustand übergeht, jeweils eindeutig bestimmt, bei FNAs kann es mehrere mögliche Ubergangszustände geben. Unter den Zuständen gibt es einen oder mehrere ausgezeichnete Zustände, die Startzustände, sowie einen oder mehrere sogenannte Endzustände. Man sagt, eine Kette von Eingabesymbolen wird von einem endlichen Automaten akzeptiert, wenn die Steuereinheit ausgehend von einem Startzustand das erste Eingabesymbol in der Kette, d. h. das erste Symbol auf dem Eingabeband, liest, in einen nachfolgenden Zustand übergeht, das zweite Eingabesymbol liest, wieder in einen nachfolgenden Zustand übergeht usw., bis das letzte Eingabesymbol gelesen wird und der Automat in einen Endzustand übergeht. Ist kein Symbol mehr zu lesen, hält der Automat an. Gibt es bei der Abarbeitung einer solchen Kette für ein Symbol keinen Übergangszustand oder gibt es, wenn das le:tzte Eingabesymbol gelesen ist, keinen Endzustand, in den der Automat übergehen kann, so wird die Kette nicht akzeptiert. Die Menge aller Symbolketten, die von einem endlichen Automaten akzeptiert werden, ist die Sprache dieses Automaten. Definition 3.1.1. (einseitiger endlicher deterministischer Automat, kurz FDA): Ein FDA ist ein 5-Tupel (K,V,6,F,S). Dabei sind K und V Alphabete. Die Elemente von K heißen Zustände, die von V Eingabesymbole. Es gilt F c K, S £ K. F ist die Menge der Endzustände, S ist der Startzustand.

& ist eine Funktion, 6 : K x V

die Ubergangsfunktion.

K U {0},

6 wird auf Ketten aus V*, wie folgt, erweitert

(rekursive Definition): 1. 6(Z,e) = Z, 2. 6(Z,a 1 ...a n ) = 6(6(Z,a 1 ),a 2 -..a R ) für jedes Z £ K und a i r ...,a

€ V.

69

Wir definieren die Sprache von A durch L(A) := {x I x € V* A 6(S,x) £ F}. Die Ubergangsfunktion 6 gibt an, in welchen neuen Zustand der Automat in Abhängigkeit vom gegebenen Zustand und vom gerade gelesenen Symbol übergeht. Es wird festgelegt, daß in jedem Fall, wo es keinen Ubergangszustand gibt, der Automat in die leere Menge übergeht (Die leere Menge kann man als einen besonderen Zustand ansehen, in dem der Automat stehenbleibt, welcher aber kein Endzustand ist. Daher findet man auch die Definition von K in der Weise, daß 0 als Element von K aufgefaßt wird.). Nach der Definition ist das leere Wort genau dann in L(A), wenn S € F gilt. Man pflegt 6 durch ein Zustandsdiagramm oder eine Zustandstafel anzugeben. Ein Zustandsdiagramm besteht aus einer Menge von Punkten, Knoten genannt. Diese stellen die Zustände des Automaten dar und bekommen die entsprechenden Symbole aus K zugeordnet. Die Zuordnung zwischen Knoten und Zuständen ist bijektiv. Die Knoten sind durch Pfeile miteinander verbunden, an jedem Pfeil stehen ein oder mehrere Eingabesymbole. Dabei ist es möglich, daß ein Pfeil von einem Knoten Z 6 K zu z zurückführt. Seien Z und Z' zwei beliebige Knoten aus K (eventuell Z = Z') und a ein beliebiges Eingabesymbol. Geht von Z nach Z' ein mit a markierter Pfeil, so symbolisiert dies den Ubergang vom Zustand Z in den Zustand Z' bei Lesen des Symbols a. Folgendes Beispiel zeigt ein Zustandsdiagramm. Wir führen noch die Konvention ein, den Startzustand durch einen Pfeil ohne Ausgangsknoten und die Endzustände durch einen Kreis um die ihnen zugeordneten Knoten zu bezeichnen. Beispiel 3.1.1. : Sei A = (K,V, 6 ,F,Z.j) ein FDA mit K = {Z^Z^Z-j},

V = {a,b,c}, F = {Z1,Z2}. 6 wird durch folgendes Zustandsdiagramm gegeben s Abbildung

3.1.2.

Es gilt also

6(Z11,a) = Z 1 t

£(Z1,b) = Z„,

í(Z1#c) = Z 2'

7o 5(Z2,a) = Z 3 ,

fi(Z2,b)

6(Z3,a) = 0,

S(Z2,c) = Z2,

= 0,

6(Z 3 ,b) = Z ,

6(Z 3 ,c) =

Die Ubergänge nach 0 w e r d e n im Zustandsdiagramm nicht

Z

r

explizit

angegeben. Ihnen entsprechen die Kombinationen aus je einem Zustand und E i n g a b e s y m b o l , Eine Zu8tandstafel

für die kein Ubergang eingezeichnet

für 6 ist eine rechteckige Matrix, deren

ist. Zeilen

bijektiv den Zuständen und deren Spalten bijektiv den Eingabesymbolen des A u t o m a t e n zugeordnet sind. Die Felder der Matrix sind auf diese W e i s e bijektiv der Menge der Paare

(Z,a) m i t Z einem

stand und a einem E i n g a b e s y m b o l zugeordnet. Für jedes das ihm zugeordnete Feld ner

Zu-

(Z,a) gibt

6(Z,a) an. Hier das allgemeine Schema ei-

Zustandstafel:

Abbildung

3.1.2.

{ Z

a

Für 6 in Beispiel 3.1.1. erhalten wir folgende Abbildung

Beispiel

Zustandstafel:

3.1.4.

3.1.2.x

f

a

b

c

Z

1

Z

Z

Z

Z

2

Z

3

Z

1

3

0

2

0 Z

1

Z

2

2

Z

1

Sei der Automat aus Beispiel 3.1.1. gegeben. W i r

prüfen einige Ketten aus V* daraufhin, ob sie von A akzeptiert den oder nicht.

wer-

71

1) Gegeben sei die Kette x = aaccabcc. Es gilt 6 (Z1,aaccabcc) = 6 (Z1 ,accabcc) = 6(Z.j,ccabcc) = 6 (Z2 ,cabcc) = 6(Z 2 ,abcc) = ó(Z3,bcc) = 6(Z^cc) = fi(Z2,c) = Z 2 > Da Z 2 6 F, wird x von A akzeptiert. Die durchlaufende Zustandsfolge ist 2) Gegeben sei die Kette y = bcca. Es gilt 6 (Z ^ ,bcca) = 6(Z 2 ,cca) = 6(Z 2 ,ca) = fi(Z2,a) =

Z 3 ist

kein Endzustand, also wird y nicht von A akzeptiert. 3) Gegeben sei die Kette z = bebe. Es gilt ¿(Z.j/bcbc) = ó(Z 2 ,cbc) = ó(Z 2 ,bc) = 0. Bei der Abarbeitung des dritten Symbols gibt es keinen Ubergangszustand, z wird von A nicht akzeptiert. 4) Da Zi E F, ist

E

aus L(A).

Es ist offensichtlich (auf den Beweis verzichten wir hier), daß für jede vorgelegte Kette aus V* entschieden werden kann, ob sie von einem gegebenen FDA (K,V,6,F,S) akzeptiert wird oder nicht. Ebenfalls kann die durchlaufenen Zustandsfolge angegeben werden, und dadurch wird jeder Kette, die akzeptiert wird, bezüglich dieses FDA eine "syntaktische Struktur" zugeordnet. Definition 2.1.2. (einseitiger endlicher non-deterministischer Automat, abgekürzt FNA): Ein FNA A ist ein 5-Tupel (K,V,6,F,X) mit K, V, F wie in Definition 3.1.1. und X c K, der Menge der Startzustände. Für jedes Paar (Z,a) aus K x V gilt 6(Z,a) c K. Eine Kette

mit

gdw es Zustände für jedes i (1 S i < n) und

€ V wird von einem FNA A akzeptiert gibt, so daß Z^ € X, Z i + 1 £ 6(Z i ,a i ) € F gilt. Die Menge aller von

einem FNA A akzeptierten Ketten ist die Sprache von A, notiert L(A). Es soll gelten: e E L(A) gdw es einen Startzustand gibt, der zugleich ein Endzustand ist. Wir geben bei FNAs die Ubergangsfunktion 6 in analoger Weise wie bei FDAs durch Zustandsdiagramme oder Zustandstafeln an, nur daß in den Feldern der Zustandstafeln jeweils eine Menge von übergangszuständen aufgeführt ist. Es ist unmittelbar klar, daß jeder FDA als ein FNA angesehen werden kann, nämlich als ein solcher, wo jeder Wert von 6 eine ein-

72 elementige Menge oder die leere Menge ist. Es gilt aber auch Satz

3.1.1.:

Für jeden FNA A gibt es einen FDA A.j, so daß L(A) =

L(A^) . Zum Beweis dieses Satzes vergleiche man MAURER 1969. Also ist die Menge der FNAs äquivalent der Menge der FDAs in Bezug auf die akzeptierten Sprachen. Die Frage, ob eine dieser Sprachen durch einen FDA oder durch einen FNA beschrieben werden soll, ist eine Frage der praktischen Sprachbeschreibung, die nur auf GAind der damit verbundenen Zielsetzung beantwortet werden kann. FNAs sind, da sie reicher an formalen Mitteln als FDAs sind, im allgemeinen besser als diese handzuhaben, um Symbolketten nach vorgegebenen Kriterien syntaktische Strukturen

zuzuordnen.

Wir geben zunächst ein abstraktes Beispiel eines FNAs mit Analysen von Ketten und konstruieren dann einen FNA, der genau die Sprache der einseitig-linearen Grammatik aus Beispiel 2.2.3.9. Beispiel

3.1.3.:

V = {a,b,c}, F =

Sei A ein FNA {S 2 ,B}, X =

(K,V,6,F,X) mit K = {S.j ,S 2 ,C,B} ,

{S^,S 2 J, wo 6 durch folgendes Zustands-

diagramm gegeben ist: Abbildung

3.1.5.

Abbildung

3.1.6. i

a

b

c

{c,s2J

0

0

2

0

0

0

C

0

(c,s 2 )

{B,S2J

B

is2>

(BS

0

S

S

1

akzeptiert.

73

Um Symbolketten mit FNAs zu analysieren, müssen wir etwas anders als bei FDAs (wie in Beispiel 3.1.2. gezeigt) vorgehen, da die Werte von 6 Mengen sind und 6 nicht wieder auf diese angewendet wird, da sie nicht aus dem Definitionsbereich von 6 sind sondern nur jedes Element dieser Mengen. Sei eine Kette aus V*, die analysiert werden soll, wobei a^,...,an € V, und X = {S-! ,... ,Sm) . Dann bilden wir fitS^a^) U...U 6(smra.|). Dies ist die Menge aller Ubergangszustände, die man ausgehend von einem Startzustand mit dem Eingabesymbol a^ erreicht. Sei für ein i, 1 < i S n, bereits analysiert und M^ die Menge der Ubergangszustände, die dann erreicht ist. M^ ist entweder leer, oder es gilt M^ = {Z^ i,...,Z^ mit Z^ k € K. Falls M^ nicht leer, wird 6(Z ± ^ 1 ,a i+1 ) u U 6 (Z± k » a i + 1 ) gebildet, die Menge aller Ubergangszustände, die man ausgehend von den Zuständen aus M^ mit erreicht. Wir bilden die Ubergangszustandsmengen solange, bis M n gebildet ist oder die Menge leer wird. Ist in M n ein Endzustand, so wird vom FNA akzeptiert, in allen anderen Fällen nicht. Analysebeispieles Gegeben sei der oben definierte FNA A. 1) Sei die Kette x = ac gegeben. Es gilt 6 (S.j ,a) U ó(S2,a) = {C,S2), 6(C,c) U 6(S2,c) = {B,S2}, Da B 6 F und S 2 6 F, gilt x € L(A) , und wird x über zwei verschiedene Zustandsfolgen akzeptiert. 2) Sei die Kette y = ab gegeben. Es gilt 6 (S i , a) U ó(S2,a) = {C,S2), 6(C,b) U 6(S2,b) = {C,S2} , Da S 2 £ F, gilt y € L(A). y wird über eine einzige Zustandsfolge akzeptiert. 3) Sei die Kette z = aba gegeben . Es gilt 6 (S.j ,a) U ó(S2,a) = {C,S2}, 6(C,b) U 6(S2,b) = {C,S2}, 6(C,a) U 6(S2,a) = 0 . Also: z t L(A). 4) Da S 2 € X und S 2 €

F, gilt e € L(A).

Wie beim FDA ist es offensichtlich, daß für jede vorgelegte Kette

74 aus V* entschieden werden kann, ob sie von einem gegebenen FNA (K,V,6,F,X) akzeptiert wird oder nicht. Durch das beschriebene Analyseverfahren werden jedoch nicht die durchlaufenen Zustandsfolgen ersichtlich, was daran liegt, daß wir bei jedem Abarbeitungsschritt die Vereinigungsmenge von Zustandsmengen bilden. Wie Analysebeispiel 1) zeigt, gibt es Ketten aus V*, die Uber mehr als eine Zustandsfolge akzeptiert werden. Solche Ketten sind in Bezug auf den gegebenen FNA syntaktisch mehrdeutig. Um auch alle durchlaufenen Zustandsfolgen anzugeben, benutzen wir eine Diagrammdarstellung, wie folgt: Zustände werden wieder durch Punkte (Knoten) und Ubergänge durch Pfeile angegeben. Die leere Menge wird genauso behandelt wie ein Zustand. Sei

mit

6 V die zu analysierende Kette.

Wir zeichnen die Startzustände, dann für jeden Startzustand alle Ubergangszustände, die von diesem Startzustand mit a^ erreicht werden, und ziehen von jedem Startzustand zu jedem seiner Ubergangszustände einen Pfeil. Sei M^ wieder die Menge der Ubergangszustände, die bei Abarbeiten von

erreicht wird (1 < i < n). Für jedes

Z £ M^ stellen wir fest, welche Zustände von Z aus mit

er-

reicht werden, zeichnen Knoten für diese Ubergangszustände ein und ziehen von Z einen Pfeil zu jedem dieser Knoten. Dieser Prozeß wird für jedes i durchgeführt so lange, bis die ganze Eingabekette analysiert ist oder bis er abbricht, indem alle Ubergänge zu 0 führen. Ist eine akzeptierte Kette k syntaktisch mehrdeutig, so lassen sich die verschiedenen Zustandsfolgen für k in dem Diagramm an den Knotenfolgen entlang der Pfeile ausgehend von den Startzuständen bis hin zu den Endzuständen , von denen keine Pfeile mehr ausgehen, ablesen . Das Diagramm sieht für Analysfebeispiel 1) folgendermaßen aus: Abbildung 3.1.7.

a

0

0

75 Beispiel 2.1.4.: Wir entwickeln zu der in Beispiel 2.2.3.9. gegebenen einseitig-linearen Grammatik, deren Sprache eine Teilmenge der französischen Nominalphrasenstrukturen ist, einen endlichen Automaten, der genau diese Nominalphrasenstrukturen akzeptiert. Dazu wandeln wir Diagramm 2.2.3.1. auf folgende Weise in ein Zustandsdiagramm um: Der Knoten N mit den davon ausgehenden mit e etikettierten Pfeilen fällt weg. Die Knoten N1 und N2 werden zu Startzuständen und der Knoten T zu einem Endzustand. Es treten keine weiteren Start- und Endzustände auf. Alle übrigen Knoten und Pfeile mit den ihnen zugeordneten Symbolen bleiben erhalten. Die Nicht-Terminalsymbole

der Grammatik werden zu Zuständen und die

Terminalsymbole zu Eingabesymbolen uminterpretiert. Damit erhalten wir offensichtlich ein Zustandsdiagramm, welches einen endlichen Automaten, der die gewünschte Sprache akzeptiert, darstellt. Dieser ist ein FNA. Wir zeigen nun, daß es zu jeder einseitig-linearen Grammatik G einen FNA A und umgekehrt für jeden FNA A eine einseitig-lineare Grammatik G gibt, so daß L(G) = L(A). Dieser Satz ist bedeutsam, da aus ihm hervorgeht, daß endliche Automaten einseitig-lineare Sprachen akzeptieren, und da es, wie wir gesehen haben, dafür einfache Analyseverfahren gibt. Um den Satz zu beweisen, führen wir einen speziellen Typ von einseitig-linearen Grammatiken ein, die regulären Grammatiken. Definition 3.1.3. (reguläre Grammatik): Eine rechts-lineare (linkslineare) Grammatik G = (V N ,V T ,R,S) heißt

reehts-(links-)-regulär

gdw jede Regel aus R von folgender Form ist: 1)

S-. e

oder 2) A-» aB (A -» Ba) oder 3) A—• a mit A,B 6 V N , a € V T , wobei, falls S - » e £ R , B / S

gilt.

Die Menge der rechts-regulären und die der links-regulären Grammatiken bilden vereinigt die Menge der regulären Grammatiken. Es gilt Satz 3.1.2.: Zu jeder einseitig-linearen Grammatik G = (VN,VT,R,S) gibt es eine reguläre Grammatik G 1 = (VN^ ,VT,R1 ,S.j) , so daß L(G) = L (G.j) .

Wir geben eine kurze Skizzierung des Beweises. Beweisskizze: Wir können auf Grund von Satz 2.2.4.1.7. davon ausgehen, daß G rechts-linear ist, und, da G kontextfrei ist, auf Grund der Sätze 2.2.3.1. und 2.2.4.1.4., daß R keine Regeln der Form A -• e mit A f S und der Form A-» B mit A,B £ V enthält. In R sind also außer eventuell S —• e nur Regeln der Form A —• xB und A—» x mit A,B 6 V N und x £ V T * - {e}. R 1 wird, wie folgt, konstruiert: Die Regeln aus R der Form A —» aB und A -» a mit a € V T gehören zu R 1 . Für jede Regel r aus R der Form A —» xB oder A x mit x = , n > 1 und

£ V T werden n-1 neue bisher nicht verwendete Nicht-

Terminalsymbole A 1 ,. . . »An_-] eingeführt und statt r die neuen Regeln A —» a-A, , A, —» a_A_, . .., A 0 —» a .A . sowie für den Fall A —» xB Ii i ¿ ¿ TÍ-¿ n-1 n-1 die Regel A ., —• a B, für den Fall A -» x die Regel A , —» a . Diese n-1 n n-1 n Regeln liefern dasselbe Ableitungsergebnis wie r. Damit ist R 1 konstruiert. V N i ist die Vereinigungsmenge aus V N und der Menge aller neu eingeführten Nicht-Terminalsymbole. Satz 3.1.3. Hauptsatz für endliche Automaten: Für jede einseitiglineare Sprache L gibt es einen endlichen Automaten A, so daß L(A) = L. Für jeden endlichen Automaten A ist L(A) eine einseitig-lineare Sprache. Beweis: Teil 1: Nach Satz 3.1.2. gibt es für jede einseitig-lineare Sprache L eine rechts-reguläre Grammatik G mit L = L(G). Sei G = (VN,VT,R,S) Wir nehmen an, daß e t L(G). Es wird ein FNA A = (K,V,6,F,X) folgendermaßen konstruiert: K = V N U {T}, wobei T t V N , V = V T , F = {T}, X = {S}. Ist r eine Regel aus R der Form B —* aC, so gilt C € 6(B,a). Ist r von der Form B -» a, so gilt T £ 6(B,a). Damit ist 6 gegeben. Wir zeigen, daß L(G) = L(A). Sei

ein beliebiges Element aus L(G) mit a^,...,an £ V T .

Dann entsteht a^...an durch sukzessive Anwendung von Regeln S-* C 1 —• a 2 C 2 , ..., C n - 1 -» a R mit C 1f ...,C € V N > Entsprechend gilt für A C 1 £ «(Sja^, C 2 £ 5(C 1( a 2 ), ..., C n - 1 £ 5 ( c n _ 2 ' a n -i 5 ' T £ 6(Cn_^,an). Also wird von A akzeptiert. Es gilt also L(G) c. L(A) . Sei nun a.]...an ein beliebiges Element aus L(A) . Dann gilt C 1 £ 6 (S,a^), C 2 £ i(C 1 # a 2 ), ..., C n - 1 £ «(C n _ 2 ,a n _ 1 ) ,

77 für ir

endwelche c

T £ 9 geln s —» a ^ ^ , C^ -* a 2 C 2'

C

c

i''*'' n-1 n-1 ~* a n a u s

€ K R

Dazu

es

Re

* ~ Diese " erzeugen

. Daher gilt auch L(A) ü L ( G ) . Also gilt L(A) = L(G) = L. Ist e € L(G), so wird X = eingeführt. Dann ist auch Damit ist gezeigt, daß es einen endlichen Automaten

{S,T} gesetzt und der Ubergang T £ 6(T,e) e aus L(A) (vgl. Definition 3.1.2.). für jede einseitig-lineare Sprache L A mit L(G) = L(A) gibt.

Teil 2: Sei A = (K,V,6,F,X) ein FNA. Ohne Beschränkung der Allgemeinheit können wir davon ausgehen, daß K fl V = 0. Zu A wird eine rechts-reguläre Grammatik G = (VJJ,Vt,R,S^) folgendermaßen konstruiert: V N = K U {S.,}, wobei S 1 f. K. V T = V. Für jedes aSa —• adAa -» adcBa -» adcba und S —• aSa —» adAa —> adBba -» adcba. Das Verfahren wird analog auf andere zu analysierende Ketten bzw. kontextfreie Grammatiken übertragen. Für alle kontextfreien Grammatiken, die keine Tilgungsregeln haben und keine Ableitungen der Form A —• ... —• A mit A einem Nicht-Terminalsymbol ermöglichen, wird hierdurch das Enthaltenseinsproblem entschieden und werden die Linksableitungen für eine Kette ausgegeben. 3.2.3. Basis-Netzwerkgrammatiken Netzwerkgrammatiken wurden von W.Woods (1970, 1973) entwickelt. Es werden zwei Typen unterschieden: 1) die

Basis-Netzwerkgrammatiken

(englisch: basic transition network grammars, abgekürzt BTN) und 2) die erweiterten Netzwerkgrammatiken

(englisch: augmented transition

network grammars, abgekürzt ATN, vgl. Kapitel 3.3.). Netzwerkgrammatiken wurden vornehmlich zum Zweck der syntaktischen Analyse von Sprachen entworfen. Sie sind daher eher Automaten als Phrasenstrukturgrammatiken ähnlich. Basis-Netzwerkgrammatiken analysieren kontextfreie Sprachen. Es gilt folgende Beziehung: Für jedes BTN- B ist die Menge aller Sätze, die von B analysiert werden, eine kontextfreie Sprache, und für jede kontextfreie Sprache L gibt es ein BTN, welches genau die Sätze von L analysiert. Um eine Vorstellung von der Arbeitsweise eines BTNs zu geben, konstruieren wir zu einer gegebenen kontextfreien Grammatim G ein BTN B, welches genau L(G) analysiert.

95 Beispiel 3.2.3.1.

Sei G = (V N ,V T ,R,S) mit V N = {S,NP,VP,ADB,PP} ,

V T = {det,n,nompr,adv,präp,v} und R folgender Regelmenge: 1) S —» NP VP , 2) S —> NP VP ADB , 3) NP

det n ,

4) NP —• nompr , 5) VP

v ,

6) VP -> v NP , 7) VP-, v S , 8) VP -» v ADB , 9) VP

v NP ADB ,

10) ADB -» adv , 11) ADB _ PP , 12) PP -> präp NP . Dabei sollen die Symbole linguistisch, wie folgt, interpretiert werden: S "Satz", NP "Nominalphrase", VP "Verbalphrase", ADB "Adverbialphrase", PP "Präpositionalphrase", det "Determinierer", n "Appellativum", nompr "Eigenname", adv "Adverb", präp "Präposition", v "Verb". Für jedes als linke Regelseite vorkommende Nicht-Terminalsymbol A werden seine Ersetzungsalternativen durch einen endlichen Automaten dargestellt. Dieser Automat heiße A-Automat. Die Symbole der rechten Seiten von A werden zu den Eingabesymbolen des A-Automaten. Dabei werden die Nicht-Terminalsymbole der Grammatik durch die Markierung PUSH, die TerminalSymbole durch CAT ausgezeichnet (CAT wurde von Woods für "lexikalische Kategorie" im Hinblick auf natürliche Sprachen eingeführt. Vgl. WOODS (1973): "A CAT arc represents a transition that can be taken if the word scanned in the input string is a member of the syntactic category indicated on the arc." Vgl. auch Kapitel 3.3.). Jeder Automat hat genau einen Startzustand. Diesen bezeichnen wir ebenfalls mit A. Die Endzustände werden durch POP markiert, welches in einem Zustandsdiagramm an einem offenen Pfeil steht (d. h. dieser hat keinen Ubergangszustand). Für je zwei verschiedene Nicht-Terminalsymbole A^ und A 2 soll gelten, daß die Zustandsmengen des A 1 - und des A 2 ~Automaten disjunkt sind. Ist für jedes A ein A-Automat konstruiert, so ist die Menge dieser Automaten

96

ein BTN B, wie wir suchen. Die nachstehende Abbildung zeigt ein solches B. Abbildung

3.2.5.1.

1) S-Automat S

PUSH NP

Z1

PUSH ADB

PUSH VP

POP

POP 2) NP-Automat NP

CAT det

Z

CAT n

CAT nompr 3) VP-Automat VP

CAT v

PUSH NP

z

POP f PUSH ADB Zg POP

1

PUSH S 4) ADB-Automat ADB CAT adv

5) PP-Automat Z(

POP

PP CAT präp

'10

PUSH NP

POP

PUSH PP Unter den Automaten ist einer auszuzeichnen, bei dem das BTN zu arbeiten beginnt, der Startautomat. Dieser ist entsprechend dem Startsymbol von G der S-Automat. Das BTN arbeitet folgendermaßen: Sei x eine zu analysierende Eingabekette. Die Analyse beginnt im Zustand S. Hier gibt es nur einen Ubergang, der mit PUSH NP bezeichnete. Push NP besagt, daß x daraufhin zu untersuchen ist, ob es ein Anfangsstück y hat, das aus NP ableitbar ist, wobei y j4 NP gilt. Es wird daher in den Startzustand des NP-Automaten gesprungen. Von hier geht es weiter mit CAT-Ubergängen: Es ist zu prüfen, ob x mit det

97

oder nompr beginnt und, falls mit det, ob das Symbol n folgt. Im Endzustand Z^ angekommen, wird der nächste Zustand des S-Automaten erreicht, also Z^. Hier ist nur der Ubergang PUSH VP möglich, d. h. es ist zu untersuchen, ob eine auf y direkt folgende Teilkette z von x von VP ableitbar ist, wobei z / VP gilt. Daher wird in den Startzustand des VP-Automaten gesprungen und bei CAT v geprüft, ob das erste Symbol von z gleich v ist. Falls ja, werden in Zg die Ubergänge, die hier möglich sind (einschließlich POP), getestet. Wählen wir einen der PUSH A-Ubergänge mit A £ V N , so wird in den A-Automaten gesprungen und dabei der Zustand A erreicht. Wird bei Durchlaufen des A-Automaten ein Endzustand erreicht, so kann in den VPAutomaten zurückgesprungen werden, wobei der Zustand erreicht wird, zu dem PUSH A führt (Z^ oder Zg). Der VP-Automat hat verschiedene Endzustände. Ist man in einem solchen angelangt,so kann in den SAutomaten, und zwar in den Zustand Z 2 , zurückgesprungen und die Analyse dort fortgesetzt werden. Z 2 ist ein Endzustand des Startautomaten. Ist das zuletzt bearbeitete Symbol von x Endstück von x, so endet die Analyse hier mit dem Ergebnis, daß x aus der Sprache von B ist. Ist x noch nicht vollständig abgearbeitet, wird der Ubergang PUSH ADB getestet. Es wird in den ADB-Automaten zum Zustand ADB gesprungen und weiter analog verfahren wie bei den schon beschriebenen PUSH-Übergängen. Dabei ist, falls der Ubergang PUSH PP genommen wird, in den PP-Automaten zu springen, von dort in den NP-Automaten und von einem hier erreichten Endzustand zurück in den PP-Automaten (Zustand Z ^ ) , dann zurück in den ADB-Automaten (Zustand Z g ) und dann zurück in den S-Automaten (Zustand Z^). Ist dabei gerade das letzte Symbol von x abgearbeitet, so ist x aus der Sprache von B. Definition 3.2.3.1. (BTN): Ein BTN B ist ein Tripel ({A1,...,A },A 1 , U). Jedes A i (1 s i S n) ist ein non-deterministischer endlicher Automat (Ki,Vi, 6 i ,F i ,X i ) , wobei gilt: K^ PI K^ = 0 für i ^ j, X ± enthält genau ein Element, den Startzustand. \J V, = V„ U V m mit V.T n V m l i N T N T = 0. Die Elemente von V^ heißen Nicht-Terminalsymbole, die von V^, Tcrminalsymbole. A^ ist ein ausgezeichneter Automat, der Startautomat. U ist eine Menge von Operationen, U = {PUSH, CAT, POP}, die, wie folgt, definiert sind: 1. PUSH: Für jedes S^iWjA) und jedes z £ ö±(W,A) mit W £ K ± und A E V ± n V N ist w

PUSH A

Z

ein

Ober-

gang in B. Dabei gilt {A} = X. für ein j (1 < j < n). Das Resultat

98 von PUSH A ist Sprung in den Zustand A und Eintragung von Z in eine Liste Ls. Sind mehrmals Übergänge mit PUSH zu vollziehen, so wird jedesmal das betroffene Z ans Ende von Ls eingetragen. 2. CAT: Für jedes 6 i (W,a) und Z £ S ^ W / a ) mit W £ K ± und a £ V ± fl V T ist W

CAT a

Z

ein

Ubergang in B. CAT a bewirkt Übergang von W

nach Z für das Symbol a. 3. POP: POP zeichnet die Endzustände aus und bewirkt a) Sprung in den zuletzt in Ls eingetragenen Zustand unter Löschung dieser Eintragung in Ls oder b), falls Ls leer ist, keinen Übergang. Im Fall b) hält B an. In WOODS (1973) werden noch zwei weitere Operationen unterschieden, die jedoch keine wesentlichen Veränderungen am beschriebenen Konzept des BTN bewirken und daher hier nicht berücksichtigt werden. Definition 2.2.3.2.

(Sprache eines BTN): Sei B ein BTN. Eine Kette

a^...a m mit a^,...,a m £ V T wird von B akzeptiert gdw ausgehend vom Startsymbol von A^ eine Folge von Zuständen aus

d

^ j -

n

)

durchlaufen werden kann, so daß die Folge ¿gj- dabei vollzogenen CAT-Übergänge (CAT a 1 ,...,CAT a m ) ist, man nach Ausführung von CAT a m , ohne daß ein weiterer CAT-Übergang vollzogen wird, in einen Endzustand von A^ gelangt und Ls dann leer ist. Die Menge aller von B akzeptierten Ketten ist die Sprache von B, notiert L(B). Folgendes Beispiel zeigt die Analyse einer Eingabekette. Beispiel ¿.2.3.2.: Sei B das in Beispiel 3.2.3.1. gegebene BTN und det n präp det n die Eingabekette. Wir geben die Analyse in Form einer Liste, die aus fünf Spalten besteht, wieder. Die erste Spalte gibt das noch unverarbeitete Reststück der Eingabekette an, die zweite den Zustand, der erreicht ist, die dritte die Operation, die nun vollzogen wird (bei PUSH und CAT mit dem Symbol aus V^ bzw. V T , auf dem sie operiert), die vierte den Zustand, der als nächster erreicht wird, und die fünfte die Liste Ls. Wir erhalten: det n v präp det n

S

PUSH NP

NP

Z

det n v präp det n

NP

CAT det

Z

n v präp det n

1

Z

Z

5

Z

v präp det n

4

CAT n

4

Z

1

Z

v präp det n

5

Z

1 VP

Z 1 VP

CAT v

Z

6

-

Z

2

tS] to

v präp det n

POP PUSH VP

1

99 Ab hier gibt es zwei Analysen, die zum Akzeptieren der Eingabekette führen: 1. präp det präp det präp det präp det det n det n n

n n n n



-

Z

6 Z 2 ADB PP Z

10 NP Z

4 5 Z 11 Z

Z

9 Z 3

POP PUSH ADB PUSH PP CAT präp PUSH NP CAT det CAT n POP POP POP POP

2 ADB PP

PUSH ADB PUSH PP CAT präp PUSH NP CAT det CAT n POP POP POP POP POP

ADB PP

Z

Z

10 NP Z

4 5 Z 11 Z 9 Z 3 Z

-

Z

3 3' Z 9 Z 3' Z 9 Z 3'Z9'Z11 Z 3'Z9'Z11 Z 3'Z9'Z11 Z 3' Z 9 Z 3 Z

-

2. präp det n präp det n präp det n det n det n n

Z

6 ADB PP Z

10 NP

Z 10 NP Z

Z

2' Z 8 2' Z 8' Z 9 Z 2' Z 8' Z 9 Z 2' Z 8' Z 9' Z 1 1 Z 2'Z8'Z9'Z11 Z 2'Z8'Z9'Z11 Z 2' Z 8' Z 9 Z 2' Z 8 Z 2 Z

4 4 5 Z Z 5 11 Z Z 11 9 Z Z 9 8 Z Z 8 2 Z 2 Um alle Ubergangsfolgen zu erfassen, durch die eine gegebene Kette x € V T * von einem BTN B akzeptiert wird, sind selbstverständlich präzise Analyseverfahren festzulegen. Wegen der engen Verwandtschaft zwischen BTNs und kontextfreien Grammatiken, können verschiedene für kontextfreie Grammatiken eingeführte Analysealgorithmen mit geringen Modifikationen auf BTNs übertragen werden. Dazu gehören einige der bekanntesten Top-Down- und Bottom-Up-Strategien (vgl. WOODS 1970,1969) .



— —

— —

Z

Z

100 3.3.

Erweiterte Netzwerkgrammatiken

Um auch im Bereich der Typ-O-Sprachen, die nicht kontextfrei sind, Syntaxanalyse treiben zu können, wurde der Typ der erweiterten Netzwerkgrammatik (abgekürzt ATN, vgl. Kapitel 3.2.3.) erfunden. Man entwickelte diesen als Alternative zum Typ der Transformationsgrammatik, da man sah, daß Transformationsgrammatiken als Ausgangsbasis für die Syntaxanalyse denkbar ungeeignet sind. ATNs sind vornehmlich für die Syntaxanalyse eingeführt worden unter besonderer Beachtung von in natürlichen Sprachen auftretenden Problemen. Nach WOODS (197o) gibt es für jedes ATN A eine Transformationsgrammatik T , die die Sprache von A erzeugt, und für jede Transformationsgrammatik T ein ATN A, das die Sprache von T akzeptiert. Es wurde verschiedentlich bewiesen, daß die Menge der von Transformationsgrammatiken erzeugten Sprachen gleich der Menge der Typ-O-Sprachen ist (vgl. KRATZER/PAUSE/v. STECHOW 1973). Also besagt die These von Woods, daß die Menge der von ATNs akzeptierten Sprachen gleich der Menge der Typ-O-Sprachen ist. Daß es sich um eine These und keinen mathematischen Satz handelt, liegt daran, daß die Form von ATNs nur sehr allgemein festgelegt ist. Für einen mathematischen Beweis bedarf es einer strengeren Formalisierung. Immerhin bieten die ATNs, wie sie von Woods eingeführt wurden, hinsichtlich einzelner Teile (nämlich den sogenannten Registern) unbeschränkt viele formale Möglichkeiten, so daß die These plausibel ist. Wie wir bereits am Anfang von Kapitel 3 sagten, ist das Enthaltenseinsproblem für Typ-O-Sprachen nicht immer lösbar. Das heißt, es kann der Fall eintreten, daß es für eine Typ-O-Sprache L und eine Kette x über dem L zugrundeliegenden Alphabet keinen Algorithmus gibt, der entscheidet, ob x aus L ist oder nicht. Analog gilt dann für ATNs: Es kann der Fall eintreten, daß für ein ATN A und eine Kette x, wobei x über dem der Sprache von A zugrundeliegendem Alphabet gebildet ist, nicht entschieden werden kann, ob x aus der Sprache von A ist. Insbesondere heißt das, daß jede auf A angewandte Analyseprozedur bei der Verarbeitung von x nicht abbricht Und dadurch keine Entscheidung geliefert wird. Um diesem Nachteil von ATNs zu begegnen, müssen formale Restriktionen eingeführt werden, durch die eine speziellere Menge von ATNs festgelegt wird, so daß mit Hilfe jedes solchen ATNs A für jede vorgelegte Kette x entschieden werden

101

kann, ob x aus der Sprache von A ist. Die Sprachen, für die das Enthaitenseinsproblem für jedes x über dem zugrundeliegenden Alphabet lösbar ist, heißen entscheidbar. Von Interesse ist, daß die Restriktionen so gestaltet werden, daß eine möglichst umfassende Menge von entscheidbaren Sprachen festgelegt wird (z. B. alle Typ1-Sprachen). Zu solchen eingeschränkten ATNs vgl. PERRAULT (1975, 1 976) . ATNs unterscheiden sich von BTNs in folgender Hinsicht: 1. Für jeden Ubergang gibt es keine, eine oder mehrere Bedingungen, die erfüllt sein müssen, damit der Ubergang vollzogen wird. 2. Für alle Übergänge außer den POP-Ubergängen gibt es eine Menge von Aktionen, die ausgeführt werden müssen, wenn der Ubergang gewählt wird. 3. Außer den Operationen PUSH, CAT und POP können noch andere Operationen auftreten. Ein Ubergang in einem ATN ist somit ein 4-Tupel (t,s,Be,Ak), wobei t eine Operation, s ein Symbol aus V N U V T » Be eine Menge von Bedingungen und Ak eine Menge von Aktionen ist. Ad 1.: Bedingungen dienen vor allem der Erfassung von Kontextabhängigkeiten. So kann z. B. Ubereinstimmung von Determinierer und Nomen in einer Nominalphrase bezüglich Numerus und Genus durch Bedingungen bei den entsprechenden Ubergängen angegeben werden: Nun sind die Symbole der Eingabekette Wörter einer natürlichen Sprache, und es gibt ein Lexikon, in dem jedes Wort der Sprache mit seiner lexikalischen Kategorie (d. h. Wortart, zu der es gehört) sowie Merkmalen über seine syntaktische Kombinierbarkeit mit anderen Wörtern aufgeführt ist. Bei der Analyse wird dem gerade abzuarbeitenden Wort der Eingabekette seine lexikalische Kategorie zugeordnet, damit die CAT-Operation ausgeführt werden kann, sowie seine Merkmale, so daß auf diese bei der weiteren Verarbeitung der Kette Bezug genommen werden kann. Die Speicherung der Merkmale erfolgt in einer besonderen Einrichtung der ATNs, den Registern. So kann eine Nominalphrase bestehend aus einem Determinierer und einem Nomen folgendermaßen bearbeitet werden: Für den Determinierer wird ein Register gesetzt, das Kontextmerkmale enthält, die angeben, wie das folgende Nomen hinsichtlich Genus und Numerus spezifiziert sein muß, und in ein anderes Register werden Genus- und Numerusmerkmal des Nomens geschrieben. Ubereinstimmung der Genus- und Numerusmerkmale in beiden Registern ist eine Bedingung dafür, daß der Ubergang zu

102 dem Zustand, zu dem das Nomen führt, vollzogen werden kann. Für eine formale Darstellung der Bedingungen wurde von Woods die Programmiersprache LISP benutzt. Ad 2.: Unter den Aktionen sind folgende Typen zu nennen: (SETR

),

(SENDR

),

(LIFTR

),

(HOLD (TO

), ).

Die TO-Aktion besteht aus TO und einem Zustand (state). Sie gibt den Ubergangszustand jedes Ubergangs an und bietet gegenüber BTNs nichts Neues. SETR ist eine Anweisung, welche ein Register einen Ausdruck der Gestalt annehmen läßt. SENDR bewirkt dasselbe wie SETR und wird ausgeführt, wenn mittels einer PUSH-Operation zum Anfangszustand eines Automaten gesprungen wird. Dabei wird das Register diesem Automaten zugeordnet und damit Information auf diese "tiefere" Ebene der Analyse übertragen. LIFTR ist ebenfalls wie SETR und bewirkt zusätzlich, daß das Register einem Automaten, der bereits durch PUSH verlassen wurde und zu dem bei einem POP zurückzuspringen ist, zugeordnet und damit Information auf eine "höhere" Ebene der Analyse gesandt wird. Durch VJHERE kann dieser Automat angegeben werden. Unter den Formen, die die Ausdrücke in den Registern annehmen können, sind zu nennen: (GETR

),

(GETF

),

(BUILDQ *

... , n > 1,

GETR liefert die Eintragungen des Registers, das innerhalb der spitzen Klammern genannt ist. WHERE ist fakultativ und gibt den Automaten an, wo das Register sich befindet. GETF wird benutzt, wenn Symbole der Eingabekette durch Merkmale (features) besonders spezifiziert sind und Merkmale verglichen werden müssen. GETF fragt ab, wie das gerade abzuarbeitende Symbol der Eingabekette hinsichtlich des Merkmals in den spitzen Klammern ausgewiesen ist (z. B.

103

positiv oder negativ). BUILDQ ist eine strukturbildende Form. Es ersetzt Knoten in Fragmenten von Bäumen durch die Eintragungen in den angegebenen Registern. Auf diese Weise wird eine Strukturbeschreibung der Eingabekette aufgebaut. BUILDQ sei an Hand folgenden Beispiels erklärt: Seien die Register NP, V und ADB durch NP(NOMPR Hans) bzw. V läuft bzw. ADB (ADV sahneil) belegt. Dann liefert (BUILDQ (S + (VP + + )) NP V ADB) die Struktur S(NP(NOMPR Hans) VP(V läuft ADB(ADV schnell))). Das Zeichen + gibt die Stelle an, wo der Inhalt der Register einzusetzen ist. Dabei wird in der Reihenfolge, wie die Register aufgeführt sind, verfahren, das erste + von links durch den Inhalt des am weitesten links stehenden Registers, das zweite + von links durch den Inhalt des zweiten Registers von links ersetzt usw. Die Struktur, die wir gebildet haben, wird durch folgenden etikettierten Baum wiedergegeben (Knotennamen sind der Einfachheit halber nicht mit aufgeführt): Abbildung 3.3.1. S

Die Form * ist bei jedem PUSH-Ubergang ein Platzhalter für die Struktur, die gefunden ist, wenn der Ubergang fertig vollzogen ist, d. h. man durch POP zu dem Zustand, der durch die TO-Aktion des PUSH-Übergangs bezeichnet ist, gekommen ist. Bei den CAT-Ubergängen und einigen weiteren (hier nicht besprochenen) weist * als Zeiger auf das gerade abzuarbeitende Symbol der Eingabekette hin, bei den VIR-Ubergängen (siehe unten) ist * Platzhalter für einen Eintrag auf der sogenannten HOLD-Liste. Bei POP stehen niemals Aktionen, die Register aufbauen. Bei POP können aber Formen auftreten, die den Inhalt von Registern liefern. Dadurch werden Strukturbeschreibungen ausgegeben. Die HOLD-Aktion wird weiter unten im Zusammenhamg mit der neuen

104 Operation VIR besprochen. Zuvor soll das bisher über Formen und Aktionen Gesagte an einem Beispiel illustriert werden. Wir geben ein in WOODS (1973) angeführtes Beispiel in etwas abgewandelter Form und um die Anweisungen 8) und 9) erweitert wieder. Beispiel 3.3.1.: Das ATN besteht aus einem S-Automaten als Startautomaten, einem NP- und einem VP-Automaten. Die Zustände sind S, S/NP, S/VP, NP, NP/DET, NP/NP, VP, VP/V. Die Übergänge sind durch folgende Anweisungen festgelegt: 1) 2) 3) 4)

(S (PUSH NP (SETR NP *) (TO S/NP))), (S/NP (PUSH VP (SETR VP *) (TO S/VP))), (S/VP (POP (BUILDQ (S + +) NP VP) ) ) , (NP (CAT DET (SETR DET (BUILDQ (DET *))) (TO NP/DET)),

5) (NP (CAT NOMPR (SETR NP (BUILDQ (NP (NOMPR *)))) (TO NP/NP))), 6) 7) 8) 9)

(NP/DET (CAT N (SETR NP (BUILDQ (NP + (N *)) DET)) (TO NP/NP))), (NP/NP (POP (GETRNP))), (VP (CAT V (SETR VP (BUILDQ (V *))) (TO VP/VP))), (VP/VP (POP (GETRVP))) .

In allen 9 Anweisungen sind den Ubergängen keine Bedingungen zugeordnet. 1) besagt, daß ausgehend vom Zustand S ein Ubergang PUSH NP auszuführen ist. Durch (SETR NP *) erhält das Register mit dem Namen NP die nach Durchlaufen des NP-Automaten gefundene Struktur (hier handelt es sich entweder um ein Symbol der Kategorie NOMPR oder um eine Kette aus einem Symbol der Kategorie DET gefolgt von einem Symbol der Kategorie N). Durch TO S/NP wird der Übergangszustand festgelegt. 2) ist analog wie 1) zu verstehen: Hier erhält das Register VP die nach Durchlaufen des VP-Automaten gefundene Struktur. Durch 4) wird im Register DET mittels (BUILDQ (DET *)) festgehalten, daß das gerade abgearbeitete Symbol der Eingabekette ein Element der Kategorie DET ist. Das Symbol wird an die Stelle von * gesetzt. 5) ist in der Weise wie 4) konstruiert: Dem Register NP wird die Struktur NP(NOMPR s) mit s dem Symbol der Eingabekette zugewiesen. Durch 6) wird ins Register NP an die durch + bezeichnete Stelle der Inhalt des Registers DET gesetzt, so daß eine Struktur NP(DET s 1 N s 2 ) erhalten wird mit s^, s 2 den für DET und N gefundenen Symbolen der Eingabekette. 8) ist analog zu 4) für die Kategorie V aufgebaut. Durch 7) wird mittels (GETR NP) der Inhalt des Registers NP ausgegeben, durch 9) geschieht dasselbe mit dem Register VP. Die beiden

105 Register sind nun fertig konstruiert. Durch 3), wo S/VP als Endzustand des S-Automaten markiert ist, wird mittels

(BUILDQ (S + +)

NP VP) die "maximale" gefundene Struktur aufgebaut, so z.B., wenn das Register NP durch NP(NOMPR s ^) und das Register VP durch VP(V s 2 ) belegt ist, die Struktur S(NP(NOMPR s.,) VP(V s 2 >). Ad 3.: Von den weiteren Operationen, die in einem ATN können, ist vor allem VIR zu nennen

auftreten

(VIR von englisch: Virtual), da

durch VIR die Möglichkeiten, Strukturen aufzubauen, erweitert werden. Durch diese Operation können Strukturen, die bereits gefunden sind, umplaziert werden. So kann man zum Beispiel die aus Transformationsgrammatiken bekannte linke Extraposition

beschreiben.

Unter der linken Extraposition versteht man folgenden Baumumwandlungstypus: Sei B 1 ein Baum mit Wurzel k Q , und sei in B^ ein Knoten k^, von dem aus eine Ecke zu einem Knoten k 2 führt. Die Knoten seien in einer festen Links-Rechts-Reihenfolge geordnet

(z. B. dadurch,

daß ihre Namen durch Zahlen-n-Tupel wie bei Generationsbäumen gegeben werden, vgl. Definition 3.2.1.3.). Wir definieren B ^ 2 als den Teilbaum von B^, dessen Wurzel k 2 ist und der alle Wege enthält, die in B 1 von k 2 ausgehen. Eine linke Extraposition liegt vor, wenn die Position von B k 2 so verändert wird, daß ein neuer Baum B 2 steht, in dem von k^ aus kein Weg zu k 2 führt, B ^ 2

ent-

links von k^

steht und höher eingebettet ist als in B ^

"Höher

heißt, daß der Weg von k Q

geringeren Anzahl von

zu k 2 aus einer

eingebettet"

Ecken besteht als in B 1 . Folgende Abbildung zeigt eine linke Extraposition. AbbiIdung

3.3.2. k

k

B

k

5

4 7 Beispiele für linke Extraposition in natürlichen Sprachen bietet die Syntax der Relativsätze. Wir betrachten ein Beispiel aus dem

106

Französischen. Die Nominalphrase le ahien que j'ai vu enthält einen Relativsatz, der an das durch ihn näher bestimmte Nomen durch ein Objekts-Relativpronomen angeschlossen ist. Im Französischen stehen nicht-pronominale Objekte in Hauptsätzen hinter dem flektierten Verb. Daher führt man für Hauptsätze in einer PSG die Produktionsregeln S N P VP und VP—» V NP ein, wobei die von VP abgeleitete NP ein Objekt ist. Bei einer Übertragung dieser Regeln auf Relativsätze, was dem Wunsch entspricht, die Anzahl der Regeln insgesamt möglichst gering zu halten, erhält man (unter Anwendung weiterer Regeln) für den Relativsatz in obiger Nominalphrase folgenden Generationsbaum: Abbildung

3.3.3.

(1) ,S (1 ,2) ,VP

(1,1),NP (1,1,1), PERSPRON

(1/2,1) , V

(1,2,2),NP (1/2,2,1) , RELPRON

(1,1,1 ,1) , je (1,2,1,1),ai vu (1,2,2,1,1),que Der Phrase que j'ai vu muß jedoch ein Baum zugewiesen werden, der die korrekte Wortreihenfolge wiedergibt, also z. B. folgender: Abbildung

3.3.4.

(1) ,S i(1 ,3),VP

(1,1),NP (1,2),NP (1,1,1) , RELPRON

(1,2,1), PERSPRON

(1,1,1,1),que

(1,2,1,1),je

¡'(1,3,1) ,V

(1,3,1,1),ai vu

Der zweite Baum entsteht aus dem ersten durch eine Baumtransformation, die linke Extraposition bewirkt. Die durch solche Baumtransformationen bewirkten Umstellungen von Terminalsymbolen können auch durch Regeln einer Typ-O-Grammatik, welche die Umstellungen vornehmen, beschrieben werden. Das Problem

107

bei der Analyse besteht darin, für solche umplazierten Teilketten einer Eingabekette die Stelle, von der sie wegtransportiert sind, wieder aufzufinden. Für die Analyse von Ketten, die durch Umstellung einer Teilkette nach links entstanden sind, werden VIR-Operation und HOLD-Aktion eingesetzt. Im Verlauf der Analyse wird zunächst ein Symbol gefunden, das als umplaziert erkannt wird. Dieses Symbol wird durch die Aktion HOLD auf eine besondere Liste, die HOLD-Liste, gesetzt und dort aufbewahrt, bis es im weiteren Verlauf der Analyse an einer geeigneten Stelle eingesetzt werden kann. Diese Stelle wird durch einen VIR-Ubergang markiert. Dasselbe geschieht mit den nachfolgenden Symbolen der deplazierten Kette. Für den Fall einer Teilmenge der französischen Relativsätze kann dies folgendermaßen aussehen: Wir betrachten Relativsätze, in denen das Relativpronomen Subjekt oder direktes Objekt ist, und solche, die durch eine Präpositionalphrase der Form Präposition^Relativpronomen an ihr Bezugsnomen angeschlossen sind (vgl. le ahat qui mange la souris,

la souris

que le ahat mange,

la table

sur laquelle

le

gargon met le livre). Wir fassen Relativsätze als Teile von Nominalphrasen auf. Stehe RELS für "Relativsatz" und rel für "Relativpronomen". Ausgehend vom BTN in Beispiel 3.2.3.1. ist in den NP-Automaten ein Übergang mit PUSH RELS einzubauen und ein RELS-Automat zu konstruieren. Die folgende Abbildung zeigt eine Möglichkeit dafür. Abbildung

3.3.5.

NP-Automat NP

>

CAT det

Z

4

CAT n

Z5

PUSH

R E L S

Z

PUSH ADB

z-)2 p o p

CAT nompr RELS-Automat RELS

CAT rel

Z 13

PUSH VP

POP PUSH NP

Z 1 5 poP »• »

108

Fängt ein Relativsatz mit einer Präposition an, so kann weder der Übergang CAT rel noch der Übergang PUSH NP, die beide zu Z 1 3 führen, genommen werden. Daher wird auf die HOLD-Liste zuerst die Präposition und dann das Relativpronomen, jeweils mit Angabe der Kategorie, gesetzt. Nach Ausführung der HOLD-Aktion wird PUSH NP bearbeitet. Diese Nominalphrase ist das Subjekt des Relativsatzes. Gehen wir davon aus, daß die auf der HOLD-Liste stehende Präpositionalphrase aus einer Adverbialphrase extraponiert ist. Diese Adverbialphrase ist entweder Teilkette einer Verbalphrase, die durch den Ubergang PUSH VP von Z 1 3 nach bezeichnet ist, oder sie ist die durch den Übergang PUSH ADB von Z ^ 4 nach Z ^ 5 markierte Adverbialphrase. Für beide Fälle sind in den PP-Automaten Übergänge, wie folgt, einzubauen: Abb-Lldung

3 . 3 . 6 .

PP-Automat pp riT nrän Z„„

PUSH VP

7.

pop V

Jedesmal wenn ein VIR-Übergang erreicht wird, wird mit dem verglichen, was auf der HOLD-Liste steht. Bei Gleichheit der Kategorien wird der betreffende Eintrag aus der HOLD —Liste getilgt und dort, wo der VIR-Übergang ist, in die bereits erhaltene Struktur eingebaut, bei Ungleichheit der Kategorien ist dieser Analyseweg fehlgeschlagen. Für die Einträge auf der HOLD-Liste ist eine Reihenfolge festzulegen, in der sie bei VIR wieder gelöscht werden, z. B. daß sie in der Reihenfolge, in der sie eingetragen wurden, gelöscht werden. Um zu klären, ob die Präpositionalphrase auf der HOLD-Liste in die Verbalphrase einzugliedern ist oder nicht, sind weitere Angaben über die möglichen Kontexte nötig. Solche Angaben können z.B. durch Merkmale, die die syntaktischen Verwendungsmöglichkeiten der Präposition festlegen und die mit auf die HOLD-Liste gesetzt sind, und durch Bedingungen, die dem Übergang VIR präp zugeornet sind, gemacht werden. Wir kommen nun zu den Fällen, wo der Relativsatz mit einem Relativpronomen beginnt. Hier weiß man noch nicht (die Verwendung verschie-

109

dener morphologischer Formen soll unberücksichtigt bleiben), ob das Relativpronomen das Subjekt oder das direkte Objekt des Relativsatzes ist. Um dies herauszufinden, kann man in folgender Weise verfahren • Man prüft, ob die Ubergänge CAT rel und PUSH VP im RELS-Automaten nacheinander vollzogen werden können. Falls ja, ist das Relativpronomen Subjekt und geht die Analyse in Z ^ weiter. Falls nein, wird der Übergang PUSH NP von RELS nach Z 1 3 getestet. Da das Relativpronomen weder von der Kategorie det noch nompr ist, führt auch dieser Weg nicht weiter. Da es keine weiteren Möglichkeiten gibt, wird das Relativpronomen auf die HOLD-Liste gesetzt. Die Analyse geht bei PUSH NP weiter. Eine durch diesen Ubergang gefundene Nominalphrase ist das Subjekt des Relativsatzes, somit das Relativpronomen das direkte Objekt. Da wir direkte Objekte als Teilketten von Verbalphrasen eingeführt haben, ist das Relativpronomen aus einer durch den Übergang PUSH VP von Z 1 3 nach bezeichneten Verbalphrase extraponiert. Daher ist in den VP-Automaten der Übergang VIR rel an der entsprechenden Stelle einzuführen, im Beispiel 3.2.3.1. von Z g nach Z ^. Übergängen mit VIR werden genauso wie anderen Übergängen Bedingungen und Aktionen zugeordnet, wobei BUILDQ komplexe Strukturen aufbauen kann. Für die Verwendung von HOLD und VIR gilt die Beschränkung, daß der einer HOLD-Aktion zugeordnete VIR-Übergang auf derselben oder einer tieferen Einbettungsstufe kommen muß. D. h.: Wird bei einer Analyseprozedur zum n.ten Mal in einen Automaten A gesprungen und dann HOLD angewendet, so muß das, was nun auf die HOLDListe gesetzt wird, gelöscht sein, wenn A durch POP verlassen wird und POP dabei das n.te Durchlaufen von A abschließt. Entsprechend bricht eine Analyseprozedur ab, wenn diese Forderung nicht erfüllt ist, mit dem Resultat, daß die Kette nicht akzeptiert ist. Insbesondere gilt dann, daß die HoLD-Liste leer ist, wenn die Prozedur bis zum Akzeptieren einer Kette gekommen ist. HOLD-Aktion und VIR-Operation werfen eine Reihe von Problemen auf. Dazu gehört z. B., in welcher Reihenfolge die Einträge auf der HOLDListe zu löschen sind. Es stellt sich die Frage, ob alle Extrapositionen, die in natürlichen Sprachen vorkommen, so beschrieben werden können, daß bei jedem Analyseschritt höchstens ein Eintrag auf der HOLD-Liste steht. Das, was HOLD und VIR bewirken, kann auch durch

1 10 geeignete Kombination anderer Operationen und Aktionen LIFTR) erreicht w e r d e n . Die Verwendung von HOLD und VIR

(wie SENDR, erscheint

jedoch einfacher und intuitiv einleuchtender. Dazu sei WOODS

(1973)

zitiert: "However, the effort on the part of a grammar writer to represent the essential notion of what's going on is reduced and

the

grammar simplified by having the HOLD action and VIR arc mechanism available. The situation

is analogous to the situation in the

sical transformational grammar model in which the left can be dealt with without

the use of so-called

"general

clas-

extraposition variables"

(variables which can m a t c h a substring that crosses any number of unmatched

left-hand sentence boundaries - thus enabling

transforma-

tions to look down into arbitrarily deeply embedded sentences),

but

only at the cost of additional effort and ingenuity on the part of the grammar w r i t e r . Thus, the presence of the HOLD list and VIR arcs in the transition network grammar model constitute a hypothesis such a mechanism

that

is a "natural" one for the analysis of certain

types of constructions

in natural language and that such a facility

should be a basic component of a m o d e l that attempts to characterize natural language grammars."

3.4.

Übungen

1. Gegeben sind folgende FNAs. Welche Sprache akzeptieren sie jeweils

(man gebe die Sprache als mengentheoretischen A u s d r u c k oder

durch eine informelle Beschreibung 1) A 1

=

( { Z 1 , Z 2 , Z 3 ) , { a , b , c } , 6 1 , { Z 3 J , { Z 1 , Z 2 ) ), wo

de Zustandtafel gegeben Abbildung

durch

folgen-

ist:

3.4.1.

1

a

b

c

1

iz2}

0

0

2

0

{z 3 }

0

0

0

{Z.,}

fi

Z Z

Z

2) A 2 =

an)?

3

( {Z1 / Z 2 , Z 3 ) , {a,b,c} , S 2 , { Z ^ , {Z.,}) , wo & 2 durch

Zustandstafel gegeben

ist:

folgende

111 Abbildung

3.4.2. 5 Z

2

1

Z

2

a

b

c

{Z2,z3}

0

0

0

0

{Z.,}

0

{z2}

0

2. Sei A der FNA ( {Z^ , Z 2 ,Z3 , Z^} , {a,b,c} , 6 , {Z ^ , {Z., , folgende Zustandstafel gegeben ist: Abbildung

) , wo 6 durc

3.4.3. S Z

1

a

b

c

{Z2}

0

0

{z 4 )

{z3>

Z

2

{Z3}

Z

3

0

tz4}

(z 3 )

Z

4

0

0

fz 4 )

Man stelle für jede der nachfolgenden Ketten fest, ob sie aus L(A) ist und, falls ja, über welche Zustandsfolgen sie von A akzeptiert wird! a) b) c) d)

abcc aaacba acccb bab

e) bcc f) bccb g) ab

3. Zu jedem FNA in Übung 1. und 2. konstruiere man eine einseitiglineare Grammatik, die genau die Sprache dieses FNA erzeugt1 4. In Satz 3.1.3. Teil 2 ist bewiesen, daß L(G) s L(A). Man zeige, daß auch L(A) SLL(G) gilt! 5. Sei die kontextfreie Grammatik G aus Kapitel 2.4. Übung 7 gegeben. Man stelle mit Hilfe der allgemeinen Top-Down-Analyse für jede der folgenden Ketten fest, ob sie aus L(G) ist und, falls ja, wieviele Linksableitungen in G es für sie gibt! a) pron v

112

b) c) d) e) f) g)

art n v adv num n v adv neg nompr v nompr nompr neg art n art v art n art n v präp nompr präp pron v

Gegeben ist die kontextfreie Grammatik G = ( {S ,NP, VP ,DET, APP , GENATTR},{n,v,art,adj},R,S) mit R, wie folgt: S —• NP VP , NP -» DET APP, APP -» n , APP APP GENATTR , APP adj APP ,

GENATTR -» NP , DET -» art , VP —> v , VP -» V NP .

Man stelle mit Hilfe der allgemeinen Top-Down-Analyse mit Längenbegrenzung für jede der folgenden Ketten fest, ob sie aus L(G) ist! a) art n art adj n v b) n v art n adj c) art n v art adj n Sei G die kontextfreie Grammatik ({S,A,C},{a,b,c},R,S) mit R, wie folgt: S -* AS , S -» CC , C bC , C —• c ,

C -* Ac , C -* ca , A —» ab .

a) Man konstruiere zu G nach der in Kapitel 3.2.3. beschriebenen Methode ein BTN B, so daß L(B) = L(G)1 b) Man stelle mit Hilfe von b für jede der folgenden Ketten fest, ob sie aus L(B) ist und, falls ja, über wieviele verschiedene Zustandsfolgen sie von B akzeptiert wird! a) abcabc b) abbac

4.

2 - S C H I C H T I G E G R A M M A T I K E N (

V A N - W I J N G A A R D E N 2 V W G )

4.1.

Informelle Beschreibung der 2VWG

Der Typus der 2VWG wurde von A. van Wijngaarden zur Beschreibung der Programmiersprache ALGOL68 entwickelt. Dieser Grammtatiktypus ist möglicherweise auch für natürliche Sprachen ein geeignetes Beschreibungsmittel auf Grund seines formalen Reichtums. Phrasenstrukturgrammatiken können im Gegensatz zu 2VWGs als einschichtig betrachtet werden: Wir haben jeweils eine einzige Menge von Produktionsregeln. Beginnend bei einem ausgezeichneten Startsymbol werden durch fortlaufende Ersetzung Symbolketten erzeugt, wobei die Menge der nur aus Endsymbolen bestehenden Ketten die von der Grammatik erzeugte Sprache ist. In einer zweischichtigen Grammatik gibt es zwei Schichten von Regeln. Die erste Schicht besteht aus zwei Regelmengen R^ und

aus denen

durch ein näher zu definierendes Verfahren eine neue Regelmenge R erzeugt wird. R bildet die zweite Schicht von Regeln. Diese erzeugt, beginnend bei einem ausgezeichneten Startelement, die Sprache der Grammatik. R kann eine unendliche Menge sein. In einer 2VWG heißen die Elemente von R 1 Metaregeln, die von R 2 Hyperregeln, die von R Produktionsregeln.

Die Wirkungsweise einer

2VWG soll zunächst an einer Beispielgrammatik erläutert werden. Die Grammatik erzeugt eine Menge französischer Sätze der Form Nominalphrase'Verb oder Nominalphrase'^Verb^Nominalphrase. Beispiel 4.1.1.: Wir geben zunächst die 2VWG an und erläutern sie dann. R.j:

(M1) NUM ss sg; pl. (M2) GEN :: mask; fem. (M3) PER :: 1per; 2per; 3per.

R~:

(H1) s : PER NUM np, PER NUM vp.

114 (H2) PER NUM vp : PER NUM vi; PER NUM vt, np. (H3) np : NUM GEN art, NUM GEN n; NUM GEN art, NUM GEN adj, NUM GEN

n.

(H4) PER NUM np : PER NUM pron. NUM GEN art, NUM GEN n; NUM GEN art,

(H5) 3per NUM np

NUM GEN adj, NUM GEN n. (H6) 1per sg vi

dors , cours.

(H7) 2per sg vi

dora>

cours,

(H8) 3per sg vi

dortt

court,

(H9) 1per pi vi

dormons i courons,

(H10

2per pi vi : dormez , courez.

(H11

3per pi vi : dormentr

courent,

(H 1 2 1per sg vt : vois. (H13

2per sg vt s vois.

(H14

3per sg vt : voit.

(H15

1per pi vt : voyons.

(H 1 6 2per pi vt : voyez. (HI 7

3per pi vt : voyent.

(H18

1 per sg pron :

je.

( H1 9 2per sg pron :

tu.

(H20

3per sg pron : il,

(H21

1per pi pron :

nous.

(H22

2per pi pron :

vous.

(H23

3per pi pron : ils,

elle.

elles.

(H24

sg mask art

(H25

sg fem art : la , une.

(H26

pi GEN art : les.

(H27

sg mask adj

(H28 (H29 (H30 (H31

le, un.

beau. sg fem adj : belle. pi mask adj beaux. pi fem adj :: belles. sg mask n garçon, chien,

(H32

sg fem n

(H33

pi mask n

(H34

pi fem n

femme, garçons, femmes,

institutrice. chiens, institutrices.

Das Startelement ist s. Zu R .j : R.j ist eine Menge von kontextfreien Regeln, die hier in ei-

115

ner neuen Notation gegeben sind. Der doppelte Doppelpunkt '::' entspricht dem Pfeil '—»'. Verschiedene Ersetzungsalternativen eines Nicht-Terminalsymbols sind durch ein Semikolon ';' abgetrennt. Jede Regel wird durch einen Punkt '.' abgeschlossen. Sei das Alphabet der Nicht-Terminalsymbole V ^ , das der Terminalsymbole V ^ . Die Symbole der beiden Alphabete sind durch den Druck unterschieden. Die Symbole aus V ^

sind Ketten aus lateinischen Großbuchsta-

ben, die aus V T j Ketten aus lateinischen Kleinbuchstaben. Das Blank dient als Begrenzungszeichen der Symbole. Die Nicht-Terminalsymbole werden auch Metabegriffe genannt. R^ ist zusammen mit V ^

und V T 1

keine kontextfreie Grammatik, da es kein ausgezeichnetes Startsymbol gibt. Das Tripel (VN1

heißt

Metaproduktionssystem.

R 1 sieht in die frühere Notation übertragen, wie folgt, aus: (M1 ) NUM

sg

(M3) PFR

1per

NUM -» pl

PFR

2per

PFR

(M2) GEN - mask GEN Zu

-

3

Per

fem

Der Doppelpunkt

entspricht dem Pfeil ' —»', das Semiko-

lon ';' trennt rechte Seiten (d. h. Ersetzungsalternativen) voneinander ab, der Punkt

1

.' schließt Hyperregeln ab. Die linken und

rechten Seiten der Hyperregeln sind über einer endlichen Menge V H gebildet, deren Elemente Symbolketten sind. In diesen Elementen treten Metabegriffe und aus lateinischen Kleinbuchstaben bestehende Ketten als Teilketten auf. Die Seiten der Hyperregeln sind Ketten solcher Elemente aus V„. Dabei besteht die linke Seite jeweils aus h genau einem solchen Element. Das Komma ',' in den rechten Seiten dient als Begrenzungszeichen der Elemente aus V^. Es gilt Vy c. (V N1 U V T 1

U V 2 )* - {e} mit V2 einer Menge neuer Symbole, die

Ketten aus lateinischen Kleinbuchstaben sind. Betrachten wir z. B. (H2)! Die linke Seite ist PER NUM vp, welches also ein Element aus V u ist. Hinter stehen zwei durch abgen trennte rechte Seiten. Die erste besteht aus dem Element PER NUM vi, die zweite aus den Elementen PER NUM vt und np. Die Hyperregeln dienen dazu, die Menge der Produktionsregeln R zu erzeugen. Dies geschieht durch Ersetzung der in den Hyperregeln auftretenden Metabegriffe durch die Endketten, die aus diesen im

116

Metaproduktionssystem ableitbar sind. Dabei ist konsistente Ersetzung gefordert, d. h.: Ist M ein Metabegriff, so wird innerhalb einer Hyperregel jedes Vorkommen von M durch dieselbe Endkette ersetzt. R besteht aus 1) allen Hyperregeln, in denen keine Metabegriffe vorkommen, und 2) allen Ketten ohne Metabegriffe, die aus Hyperregeln durch konsistente Ersetzung der Metabegriffe erhalten werden können. Betrachten wir z. B. (Hl)! Hier kommen die Metabegriffe PER und NUM vor. Aus PER ist durch (M3) 1per, 2per oder 3per ableitbar, aus NUM durch (M1) sg oder pl. Durch konsistente Ersetzung der Metabegriffe erhält man aus (H1) s s s

: 1per sg np , 1per sg vp. : 2per sg np , 2per sg vp.

s

: 3per sg np , 3per sg vp. : 1per Pl np , 1per Pl vp. : 2per Pl np , 2per Pl vp.

s

: 3per Pl np , 3per Pl vp.

s

Dies ist eine Teilmenge von R. Analog wie bei (H1) ist mit jeder weiteren Hyperregel, in der Metabegriffe vorkommen, zu verfahren. Wie man sieht, sind die Hyperregeln, in denen Metabegriffe auftreten, keine Ersetzungsregeln in dem Sinn, daß die rechte Seite für die linke zu setzen ist. Sie sind vielmehr Regelschemata, aus denen Ersetzungsregeln erst gebildet werden. Die in den Hyperregeln vorkommenden Metabegriffe sind Variable, die bei Gleichheit innerhalb der Hyperregel durch denselben Wert zu ersetzen sind. Zu R: Die Produktionsregeln unterscheiden sich formal von den Hyperregeln nur dadurch, daß in ihnen keine Metabegriffe vorkommen. R ist eine Menge kontextfreier Regeln und gehört zu einer Grammatik G = (V N ,V T ,R,S), welche die zweite Schicht der 2VWG ausmacht. V N ist eine Menge nicht-terminaler, V T eine Menge terminaler Elemente, S das Startelement. Allgemein unterscheidet sich die zweite Schicht nur dadurch von einer kontextfreien Grammatik, daß die Menge der Produktionsregeln unendlich sein kann, wobei auch die Menge der terminalen oder der nicht-terminalen Elemente (oder beide) unendlich ist. Ein Element ist hier äquivalent einem Symbol (terminal oder nicht-terminal) einer PSG, es ist im allgemeinen eine längere Folge

117

von durch Blanks abgetrennten Buchstabenketten und wird durch das Komma ' ,' vom nächsten Element abgegrenzt. Die Elemente aus V T in unserem Beispiel sind durch kursiven Druck kenntlich gemacht, alle anderen Elemente sind aus V^, es gilt S = s. Wie man leicht sieht, ist R endlich. Aus der Menge aller durch G erzeugbaren Ketten aus V T erhält man unter Streichung der in ihnen vorkommenden Kommata die Sprache der 2VWG. Um eine 2VWG zu definieren, genügt es, das Metaproduktionssystem, die Menge der Hyperregeln, das Startsymbol und die terminalen Elemente der Grammatik der zweiten Schicht festzulegen. Zur Veranschaulichung sei ein Ableitungsbeispiel durchgeführt. Beispiel 4.1.2.: Gegeben sei die 2VWG von Beispiel 4.1.1. Die Grammatik erlaubt folgende Ableitung: 1)

s

2)

3per sg np, 3per sg vp 4 sg mask art, sg mask n, 3per sg vp i le, sg mask n, 3per sg vp * le, garçon, 3per sg vp I le, garçon, 3per sg vt, np 1 le, garçon, voit, np ile, garçon, voit, pl fem art, pl fem adj, pl fem n

3) 4) 5) 6) 7) 8) 9)

le, garçon, voit, les, pl fem adj, pl fem n

i

10) le, garçon, voit, les, belles, pl fem n * 11) le, garçon, voit, les, belles, institutrices mit Tilgung der Kommata: le garçon voit les belles

institutrices.

Durch Produktionsregeln, die durch konsistente Ersetzung gebildet sind, werden folgende Ableitungszeilen aus der jeweils vorangehenden erzeugt: 2) auf Grund von (H1), 3) auf Grund von (H5), 6) auf Grund von (H26). Alle übrigen Ableitungszeilen entstehen durch Hyperregeln ohne Metabegriffe. Für ein Beispiel einer größeren Teilgrammatik des Französischen in der Form einer 2VWG vergleiche man CHASTELLIER/COLMERAUER (1969).

118

4.2.

Formale Definition der 2VWG

Definition 4.2.1. (2VWG) : Eine 2 V W G

Z ist ein Tripel

(P^P^G).

Dabei ist P 1 ein Produktionssystem (V N 1 ,V T 1 ,R 1 ), wobei V N 1 und V T 1 Alphabete sind, V ^

fl V ^

= 0 und R^ eine nicht-leere, endliche

Menge kontextfreier Regeln der Form A :: x mit A £

und

x 6 (V N1 U V T 1 )*. Die Elemente aus V N 1 heißen Metabegriffe, die aus VTi

Endsymbole der Metasahiaht,

die aus R^ Metaregeln. P 2 ist ein

Tripel (V H ,C,R 2 ) mit V H s (VN1 U V T 1 U V 2 )* - {e} , wobei v 2 eine endliche (eventuell leere) Menge neuer Symbole nicht in V ^

U

ist. c ist ein neues Symbol nicht aus V N 1 U V T 1 U V 2 , genannt Trennsymbol. R 2 ist eine endliche, nicht leere Menge von Ketten der Form A : x mit A € V H und x £

v

hHC}Vh}»

U{e} . Die Elemente aus R 2 heißen

Hyperregeln. G Ist ein 4-Tupel (V N ,V T ,R,S) mit V N c (V T1 U Vjl* - {£} , V T c ((VT1 U V 2 )* - {eJ) U {c}, V N n V T = 0, S € V N . Die Elemente aus V T heißen terminale, die aus V N nicht-terminale Elemente der 2.ten Schicht, S heißt Startelement. den Produktionsregeln.

R ist eine Menge von Ersetzungsregeln,

Diese haben die Form A : x mit A € V N und

x £ (VN U V T )* und entstehen aus R 1 und R 2 , wie folgt: a) Für jedes x : y € R 2 , worin kein Symbol aus V N 1 vorkommt, ist x : y 6 R. b) Ist V N 1 = {A.j,...,An}, so sei für jedes A ±

(1 < i < n) Gj= (P., ,A ± )

eine kontextfreie Grammatik mit A^ als Startsymbol und L(G^) die von G i erzeugte Sprache. Für jedes x' : y' € R 2 , in dem Symbole aus VN.j vorkommen, erhält man ein x s y € R, indem für jedes in x* : y' auftretende A ± e V N 1 mit L(G^) ? 0 ein z € L(G^) gewählt und jedes Vorkommen von A^ durch z ersetzt wird. Das Trennsymbol, im Beispiel 4.1.1. das Komma

wird hier zu den

terminalen Elementen der 2. Schicht gerechnet. Es soll aber kein in Ketten aus L(Z) auftretendes Element sein. Daher Definition 4.2.2. (die von einer 2VWG erzeugte Sprache): Sei L(G) die durch G in Definition 4.2.1. erzeugte Sprache. Sei T ein Homomorphismus, der durch r(a) = a für a £ V T - {c} und t(c) = e definiert ist. Die von einer 2VWG Z erzeugte Sprache L(Z) ist definiert durch T(L(G)). Es gilt der Satz: Die Menge der von 2VWGs erzeugten Sprachen ist gleich der Menge der Typ-O-Sprachen (Beweis vgl. SINTZOFF 1967).

119

4.3.

Anwendungen

2VWGs sind geeignet zur Beschreibung von Kontextabhängigkeiten und sind damit für umfassende syntaktische Beschreibungen im Bereich der natürlichen Sprachen durchaus in Erwägung zu ziehen. Auf welche Weise Konkordanz-Fälle (z. B. Genus-, Numerusübereinstimmung) erfaßt werden können, zeigt Beispiel 4.2.1. Durch eine 2VWG wurde die Programmiersprache ALGOL68 definiert, zu deren Beschreibung dieser Grammatiktypus erfunden wurde. ALGOL68 ist eine sehr entwickelte Programmiersprache, die dem Benutzer bei der Abfassung von Programmen mehr Freiheiten gestattet und Möglichkeiten bereitstellt als "klassische" Programmiersprachen wie z. B. FORTRAN. Um alle diese Möglichkeiten auf einfache Weise erfassen zu können, brauchte man einen entsprechend konzipierten Grammatiktypus, und es wurde der Typus der 2VWG eingeführt. Die ALGOL68-Grammatik erzeugt Programme, die sowohl syntaktisch als auch semantisch wohlgeformt sind. 'Semantisch wohlgeformt1 heißt hier, daß Programme, die bestimmte bedeutungsmäßige Ungereimtheiten wie z. B. Widersprüche, nicht definierte Elemente, fehlende Typzuordnungen enthalten, nicht zur Sprache gehören. Ein entsprechendes Analyseverfahren (hier ein Compiler) würde ein solches Programm sofort als unzulässig erkennen, so daß es nicht bearbeitet wird. Für eine eingehende Behandlung der hiermit verbundenen Probleme verweisen wir auf die einschlägige Literatur: VAN DER MEULEN/KÜHLXNG (1977), VAN WIJNGAARDEN (1975). Wir gehen hier noch auf eine besondere Anwendung ein, nämlich den Gebrauch der sogenannten 'Prädikate'. Diese werden benutzt, um schwierige Probleme von Kontextabhängigkeiten lösen zu können, z. B. Abhängigkeiten zwischen Elementen, die durch längere Elementketten getrennt sind oder auf verschiedenen Ableitungsstufen erzeugt werden. Hier wird ausgenutzt, daß man Grammatiken schreiben kann, die Ableitungen zulassen, welche in Sackgassen führen, d. h. daß in Ableitungszeilen nicht-terminale Elemente vorkommen, die nicht weiter ersetzt werden können. Enthält eine Sprache Endketten, in denen voneinander abhängige Elemente vorkommen, so heißt das, daß eine Grammatik dieser Sprache Endketten erzeugen muß, die vorgegebenen Bedingungen gehorchen. In einer 2VW können solche Bedingungen folgendermaßen erfaßt werden: Es werden nicht-terminale Elemente eingeführt, die in einer Ableitung nur dann weiter ersetzt werden können,

1 2o wenn diese Bedingungen erfüllt sind. Sind sie nicht erfüllt, so führt der Ableitungsprozeß in eine Sackgasse, sind sie erfüllt, so führt die Ersetzung dieser nicht-terminalen Elemente in das leere Wort. Diese speziellen nicht-terminalen Elemente heißen in einer 2VWG Prädikate. Sie sind Kontrollinstanzen für Wohlgeformtheit der erzeugten Ketten» und daher erklärt sich auch, warum aus ihnen selbst bis auf das leere Wort keine Ketten abgeleitet werden. Als Beispiel für den Gebrauch von Prädikaten geben wir eine 2VWG aus VAN DER MEULEN/KÜHLING (1977) in etwas abgewandelter Form wieder. Beispiel 4.3.1.: Die Aufgabe ist folgende: Gegeben sei das Alphabet der lateinischen Kleinbuchstaben. Es soll die Menge aller Ketten erzeugt werden, die aus zwei verschiedenen Buchstaben bestehen, so daß der erste Buchstabe in der üblichen Reihenfolge des Alphabets vor dem zweiten kommt. Da dies eine endliche Menge von Ketten ist, kann man sie auch mit einer einseitig-linearen Grammatik erzeugen. Doch wäre dies mühsam, da man bei der Konstruktion der Regelmenge letztlich alle gewünschten Kombinationsmöglichkeiten aufzählen müßte. Folgende 2VWG Z löst die Aufgabe mit weniger Aufwand und verdeutlicht zudem das Problem: Z = (P 1f P 2 ,G). P 1 = (V n 1 ,V t 1 ,R 1 ) = ({ALPHA,ALPHA1,ALPHA2,NOTION, NOTION1,NOTION2,NOTION3},

{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,

t,u,v,w,x,y,z},R1) mit R^ folgender Menge von Metaregeln: (M1) ALPHA :: a;b;c;d;e;f;g;h;i;j;k;1;m;n;o;p;q;r;s;t;u;v;w;x;y;z. (M2) ALPHA1 :: ALPHA. (M3) ALPHA2 :: ALPHA. (M4) NOTION :: e; NOTION ALPHA. (M5) NOTION1 :: NOTION. (M6) NOTION2 :: NOTION. (M7) NOTION3 :: NOTION. P

2

=

1}. Konstruktion von R: Aus (H1) ergibt sich die Regelmenge {start : i n a,i n b,i n c. In > 1}, aus (H2) die Regelmenge {i n+1 a : a,ina . | n > 1} U {i n+1 b : b,inb . I n > 1} U {i n+1 c : c,i n c. I n > 1} , aus (H^) {ia : a., ib : b., ic : c.}. Aus dem Anfangselement start werden Ketten abgeleitet, deren Elemente jeweils aus n (n > 1) i's gefolgt von a, b bzw. c bestehen. Die aus (H2) entstandene Regelmenge reduziert diese i's bis auf eins und erhöht die Anzahl der a-,b- und c-Vorkommen auf n+1 . Durch (H3) wird diese Anzahl auf n reduziert. Das ergibt unter Tilgung des Trennungskommas L(Z) = {a n b n c n I n > 1}. 2. Die Metaregeln erzeugen, beginnend bei PROP als Startsymbol, alle aus den Grundkonstanten 'true' und 'false1, den Junktoren 'not', 'and', 'or' und 'impl' und den Klammern < und > zusammengesetzten aussagenlogischen Formeln. Stehe 'true' für eine wahre, 'false' für eine falsche Aussage. Dann ermöglichen die Produktionsregeln, für jede dieser Formeln den Wahrheitswert z u ermitteln, den sie nach der bekannten Bewertung der Aussagenlogik hat: Auf der rechten Seite jeder aus (H10) erzeugbaren Produktionsregel wird einer Formel ein Wert aus {tt,ff} zugeordnet. Ist dies der richtige

136 Wahrheitswert, so führt die Ableitung ins leere Wort, andernfalls in eine Sackgasse

(Beweis vgl. HESSE 1976).

2 Ableitungsbeispiele: 1)

prop I

(H10)

or yie tt' (H7)

(H7)

true yie tt |

false yie tt

(H1)

e

[Sackgasse]

Eine Ableitung führt zu e, also hat die Formel ' or ', w i e angenommen, den Wert tt. 2)

prop 1

(H10)

and yie tt |

(H5)

false yie tt, false yie tt [Sackgasse] D i e Formel ' and ' hat nicht den W e r t tt.

6

L I T E R A T U R V E R Z E I C H N I S

Aho, A.V., Ullman, J.D.: The Theory of Parsing, Translation, and Compiling, Vol. 1: Parsing. 1972. Chastellier, G. de, Colmerauer, A.: W-Grammar. In: Proceedings of the 24th National Conference of the ACM, New York 1969. Chomsky, N.A.s Syntactic Structures. 1957. Dietrich, R., Klein, W.: Computerlinguistik. Eine Einführung. 1974. Hermes, H.: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit. 2. Auflage, 1971. Hesse, W.: Vollständige formale Beschreibung von Programmiersprachen mit zweischichtigen Grammatiken. Bericht Nr. 7623, Fachbereich Mathematik der Technischen Universität München. 1976. Kratzer, A., Pause, E., Stechow, A. von: Einführung in Theorie und Anwendung der generativen Syntax, I, II. 1973/1974. Maurer, H.: Theoretische Grundlagen der Programmiersprachen. Theorie der Syntax. 1969 (B.I.-Hochschultaschenbücher 4o4/4o4a). Mayer, 0.: Syntaxanalyse. Reihe Informatik/27. Bibliographisches Institut Mannheim. 1978. Mayerthaler, W.: Einführung in die generative Phonologie. 1974 (Romanistische Arbeitshefte 11). Meulen, S.G. van der, Kühling, P.: Programmieren in ALGOL68, I, II. 1974/1977. Perrault, R.: Augmented Transition Networks and Their Relation to Tree Manipulating Systems. 1975. - Augmented Transition Networks and Their Relation to Tree Transducers. In: Information Sciences, 1976, S. 93-119. Postal, P.M.: Constituent Structure. A Study of Contemporary Models of Syntactic Descriptions. 1964. Salomaa, A.: Formal Languages. 1973. Schmidt, J.: Mengenlehre, I. 1966 (B.I.-Hochschultaschenbücher).

138

Sintzoff, M.: Existence of a Van Wijngaarden Syntax for Every Recursive Enumerable Set. In: Annales de la Société Scientifique de Bruxelles 81 (1967). Wijngaarden, A. van, u.a.: Revised Report on the Algorithmic Language ALGOL68. In: Acta Informatica 5 (1975). Woods, W.A.: Augmented Transition Networks for Natural Language Analysis. Report CS-1, Computation Lab., Harvard University, Cambridge, Mass. 1969. - Transition Network Grammars for Natural Language Analysis. In: Communications of the ACM 13 (197o), S. 591-6o6. - An Experimental Parsing System for Transition Network Grammars. In: Rustin, R., Natural Language Processing, S. 111-154. 1973.

7

S T I C H W O R T V E R Z E I C H N I S

Ableitung 20 abschließende Regel 30 Äquivalenz zweier PSG 36 Äquivalenzrelation 8 Alphabet 15 ATN 94, 100 ff Baum 81 beschränkte Grammatik Bottom-Up-Analyse 93 BTN 94 ff Chomsky-Normalform

41

Durchschnittsmenge

3

25

einseitig-lineare Grammatik 30 - Sprache 30 Einsetzung 56 endlicher Automat 67 deterministischer 68 einseitiger 67 non-deterministischer 68 -, zweiseitiger 67 entscheidbare Sprache 101 PDA 68 FNA 68 Funktion 9 -, bijektive 11 -, injektive 11 -, surjektive 11 Generationsbaum

81

Homomorphismus

56

Kette 15 Komplement einer Menge 3 kontextfreie Grammatik 27 - Regel 27 - Sprache 28 kontextsensitive Grammatik - Regel 26 - Sprache 2 6

26

lineare Grammatik 30 - Regel 30 Linksableitung 80 links-lineare Grammatik 30 - Regel 30 linksrekursive kontextfreie Grammatik 90 mehrdeutige Kette 74 - kontextfreie Grammatik 83 - kontextfreie Sprache 83 Mengensystem 4 Netzwerkgrammatik 94 ff Basis- 94 ff erweiterte - 94, 100 ff Phrasenstrukturgrammatik 21 Potenz, n-fache einer Sprache 19 Potenzmenge 4 Prädikat, in einer 2-schichtigen Van-Wijngaarden-Grammatik 119

140 Produkt, kartesisches

7

- einer

Produktion, - s r e g e l einer Phrasenstrukturgrammatik Produktionssystem PSG

Stern, - m e n g e Symbol

Phrasenstrukturgrammatik Grammatik

rechts-)

Relation

15

Symbolvorkommen

16 30

Top-Down-Analyse Typ-i-Sprache

8

8

-, symmetrische -, transitive

84 ff

2-schichtige

8

Verkettung 36

18

Phrasenstruktur-

2VWG

113

Wort

15

3

16

Verkettungsprodukt

20

separierte Grammatik

22

113 ff

Vereinigungsmenge

29

Sprache, formale

25 ff 25 ff

Van-Wijngaarden-Grammatik,

8

Semi-Thue-System

grammatik

15

Symbolkette

Typ-i-Grammatik

-, reflexive

- einer

11 ff

7

-, asymmetrische

Sackgasse

20

17, 19

Tilgungsregel

75

rekursive Definition

69,

2-schichtigen

Van-Wijngaarden-Grammatik

30

einer (links-,

Automaten

72

30

reguläre

98

- eines endlichen - einer

rechts-lineare Grammatik Regel

20

20

21

- Regel

Basis-Netzwerkgrammatik

(BTN)

19

118