• Keine Ergebnisse gefunden

Die Hollander-Pushdown-Maschine

N/A
N/A
Protected

Academic year: 2022

Aktie "Die Hollander-Pushdown-Maschine"

Copied!
34
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

deposit_hagen

Publikationsserver der Universitätsbibliothek

Mathematik und

Informatik

Informatik-Berichte 17 – 05/1981

Die Hollander-Pushdown-Maschine

(2)

Fernuniversität Hagen

von

Heide Schuster

Lehrgebiet Theoretische ·rnformatik Fleyer Str. 204

5800 Hagen 1

(3)

1. Einleitung

2. Grundlegende Definitionen und Bezeichnungen 3. Die Hollander-Pushdown-Maschine

3.1 Definition 3.2 Ein Beispiel

3.3 Mächtigkeit des Modells

4. Erweiterung des Modells und Ausblick

Symbolverzeichnis Literatur

1

3 4 5 19

24 28

30 31

(4)

1. Einleitung

In dieser Arbeit wird ein neues mathematisches Maschinenmodell für Sprachübersetzungen vorgestellt und mit bereits bekannten Modellen aus der Literatur verglichen. Die Arbeit hat folgen- den Hintergrund:

In der praktischen Informatik werden u.a. Maschinen für Sprach- übersetzungen gebaut. übersetzt eine derartige Maschine von einer höher strukturierten Sprache in eine niederstrukturierte Sprache, so spricht man von einem Compiler, andernfalls von einem Decompiler.

In der theoretischen Informatik interessiert man sich u.a. da- für, welches mathematische Modell einem Compiler bzw. Decompi- ler zugrunde liegt. Mit Hilfe des mathematischen Modells will man untersuchen, was ein Compiler bzw. Decompiler prinzipiell leistet. Mathematische Compilermodelle gehören heute zur klas- sischen Theorie der Informatik. Decompilermodelle werden erst seit einigen Jahren untersucht.

Die syntaktischen Aspekte bei der Obersetzung einer Sprache L1~E* in eine Sprache L

2s6* kann man mathematisch darstellen als eine Relation tsE*x6*. Man nennt t eine Transduktion. Da- bei seien E und 6 Alphabete (Eingabealphabet, Ausgabealphabet).

L1 heißt Eingabesprache der Transduktion t, L2 heißt Ausgabe- sprache von t. Ein mathematisches Maschinenmodell zur Durch- führung einer Transduktion heißt Transduktor.

Hier werden zunächst einige bekannte Transduktoren aus der Literatur wiederholt.

Danach wird ein neues Maschinenmodell definiert, die Hollan- der-Pushdown-Maschine. Sie ist die mathematische Präzisierung der kontextfreien Komponenten des Decompilationsmodells von Hollander [7]. Weiterhin wird die Mächtigkeit dieses Modells untersucht. Dabei stellt sich heraus, daß die nicht-determi- nistische Version des Modells genau den von Aho [1] definier- ten Pushdown-Assembler simulieren kann und umgekehrt.

(5)

Am Schluß der Arbeit wird eine Erweiterung der Hollander- Pushdown-Maschine vorgestellt, die Hollander-Maschine. Sie ist die vollständige mathematische Version des Decompilations- modells von Hollander. Bezüglich der Erkennung der Eingabe- sprache hat sie die Mächtigkeit des von Cook [3] eingeführten Auxiliary-Pushdown-Automaten.

Weiterhin werden offene Fragen und Probleme genannt.

(6)

2. Grundlegende Definitionen und Bezeichnungen

Eine Transduktion ist eine Relation t~E*x~*, wobei E,~

Alphabete sind.

rrk sei die Menge der Permutationen der Ordnung k, fUr k E

m.

Mit sdts(k) wird das von Aho [2] eingeführte syntax-gesteuerte Transduktionsschema der Ordnung k (mit k EIN) bezeichnet (vgl.

auch [10],[11]). sdt bezeichne eine syntax-gesteuerte Transdu':- tion. ssdts(k) bezeichne ein einfaches syntax-gesteuertes Trans- duktionsschema (vgl. [2],[10],[11]). ssdt bezeichne eine ein- fache syntax-gesteuerte Transduktion. SDT(k) sei die Klasse der von syntax-gesteuerten Transduktionsschemen der Ordnung k

(k E IN) definierten Transduktionen. SDT :=

u

SDT(k).

k E JN

SSDT(k) sei die Klasse der von einfachen syntax-gesteuerten Transduktionsschemen der Ordnung k (k E m) definierten Trans- duktionen. SSDT := U SSDT(k).

k E JN

Mit n-pdt wird der von Ginsburg [5] eingefUhrte nicht-determi- nistische Pushdown-Transduktor bezeichnet. Mit d-pdt wird der analoge deterministische Pushdown-Transduktor bezeichnet (vgl.

auch [2],(10]~[11]). N-PDT sei die Klasse der von nicht-deter- ministischen Pushdown-Transduktoren definierten Transduktionen.

0-PDT sei die Klasse der von deterministischen Pushdown-Trans- duktoren definierten Transduktionen.

Mit pa(k) wird der von Aho [2] eingeführte k-Register Pushdown- A s s e m b 1 e r b e z e i c h n e t , w o b e i k E IN ( g 1 . a u c h [ 1 0 ] , [ 11 ] ) . P A ( k )

sei die Klasse der von k-Register Pushdown-Assemblern definier- ten Transduktionen. PA :=

u

PA(k).

k EIN

Man beachte, daß sowohl bei den eben genannten Transduktoren, als auch bei dem im nächsten Kapitel neu eingeführten mathe- matischen Maschinenmodell die Oberführungsfunktionen i.a. par-

tielle Funktionen sind.

(7)

3. Die Hollander-Pushdown-Maschine

In diesem Kapitel wird in Anlehnung an das 1973 von Hollander [7] beschriebene Decompilationsmodell ein mathematisches Sprach- übersetzungsmodell definiert: die Hollander-Pushdown-Maschine (vgl. auch [11]). Dies mathematische Modell beschreibt lediglich die kontextfreien Komponenten des Decompilationsmodells von Hol- lander. Die vollständige mathematische Version wird im Kapitel 4 vorgestellt (vgl. auch [11]).

Zur Veranschaulichung der mathematischen Definition wird im Kapitel 3.2 ein Beispiel einer Hollander-Pushdown-Maschine vor- gestellt.

Die Hollander-Pushdown-Maschine wird im Kapitel 3.1 als ein deterministisches Sprachübersetzungsmodell eingeführt. Es wird dort auch eine nicht-deterministische Version definiert. Im Ka- pitel 3.3 wird gezeigt, daß eine deterministisch arbeitende Hol- lander-Pushdown-Maschine echt weniger kann als eine nicht-deter- ministische (vgl. Satz 3.3.1).

Danach folgt der zentrale Satz über Hollander-Pushdown-Maschinen, der besagt, daß man eine nicht-deterministische Hollander-Push- down-Maschine mit dem von Aho [1] eingeführten Pushdown-Assembler simulieren kann und umgekehrt (vgl. Satz 3.3.2).

Damit wird das im Kapitel 3.1 neu eingeführte mathematische Sprachübersetzungsmodell auf ein bekanntes zurückgeführt. Als Korollar folgt, daß die nicht-deterministischen Hollander-Push- down-Maschinen genau die syntax-gesteuerten Transduktionen de- finieren.

Danach wird ein Hierarchiesatz für die von nicht-deterministi- schen Hollander-Pushdown-Maschinen definierte Transduktionen- klasse vorgestellt (vgl. Satz 3.3.3). Weiterhin werden die bis- her vorgestellten Sprachübersetzungsmodelle miteinander vergli- chen (vgl. Satz 3.3.4).

(8)

3.1 Definition

In diesem Kapitel wird die Hollander-Pushdown-Maschine, genauer die "k-Schicht Hollander-Pushdown-Maschine11 , definiert und deren nicht-deterministische Version.

Intuitiv versteht man unter einer k-Schicht Hollander~Pushdown- Maschine einen deterministtsc~en Pushdown-Automaten, ~ei dem jedem K~llerelement ein sog. 11SEM-Stack-Element" assoziiert ist.

Jedes SEM-Stack~Element enthält entweder ein Wort üoer dem Aus- gabealphabet~ oder es ist frei. Analog wie 5eim Pushdown-

Assembler wird der Inhalt eines freien SEM-Stack-Elementes durch das Sonderzeichen% dargestellt, wo5ef o.B.d.A. %~4- sei. Die Menge aller SEM-Stack-Elemente wird in Anlehnung an das 1973 von Hollander [ 7 J algorithmisch beschriebene Decompilations- modell mit "SEM-Stack" (semantischer Stack) bezeichnet. Der K e 1 1 e r w i r d a n a 1 o g w i e 6 e ;: H o 11 an d e r a u c h m i. t II S Y N - S t a c k 11 ( s y n - taktischer Stack) bezeichnet. Ein Element des SYN-Stack mit dem assoziierten SEM-Stack-Element nennt·man eine Schicht.

Eine k-Schicht Hollander-Pushdown-Maschine liest auf dem Keller stets die obersten k Kellerelemente, wobei k~l eine Konstante ist.

Wird der Keller um 2 Kellerelemente erweitert (liü) so dürfen die freien der obersten k+t SEM-Stack-Elemente mit jeweils einem Wort über dem Ausgabealphabet gefüllt werden oder weiterhin

frei bleiben.

Wird der Keller reduziert, so muß der Inhalt der den gelöschten Kellerelementen assoziierten SEM-Stack-Elemente mit dem alten Inhalt des dem neuen Kellertop-Element assoziierten SEM-Stack- Elementes konkateniert werden. Dabei dürfen zuvor die beteiligten SEM-Stack-Element-Inhalte permutiert werden. Das auf diese Weise entstehende Wort ist der neue Inhalt des dem neuen Kellertop- Element assoziierten SEM-Stack-Elementes. Dieses ist auch das neue SEM-Stack-Top-Element.

SEM-Stack-Element-Inhalte dUrfen weder gelöscht, noch gelesen werden.

(9)

Beim Löschen der untersten k Kellerelemente wird der Inhalt des dem Kellertop-Element assoziierten SEM-Stack-Elementes als Obersetzung des Eingabewortes ausgegeben, sofern dieses voll- ständig abgearbeitet war.

In diesem Sinn ist eine k-Schicht Hollander-Pushdown-Maschine ein deterministisches Sprachübersetzungsmodell. Dabei hat das Eingabeband die Endmarkierung$, wobei o.B.d.A. $t~.

Am Ende dieses Kapitels wird ein analoges nicht-deterministi- sches Sprachübersetzungsmodell definiert. Bei diesem hat das Eingabeband keine Endemarkierung.

Ehe das Modell der k-Scnicnt Hollander-Pushdown-Maschine formali- siert- wird, zunächst ein Beispiel:

Beispiel 3.1.1: Es sei eine 3-Schicht Hollander-Pushdown-

Maschine 11 gegeben. Das Eingabealphabet sei _ r:= {a,b} , das Ausgabealphabet sei ß := {x,y,z}, das Kelleralphabet sei r .

.=

{ s1,s2,S3,S4,S4,S5,S5, 4' 3' 2' 3' 2' 1 ' 1 ' s " s " s11 s1 s 1 s 1}undct1·ezu- standsmenge sei Z.

11 habe im Verlauf ihrer Rechnung die in der folgenden Ab- bildung angegebene Konfiguration erreicht.

b

z

e: e: % X

In dieser Konfiguration werden die obersten drei Kellerzeichen überschrieben und zwei neue Schichten mit den Kellerzeichen s

5

,s

6

generiert. Die SEM-Stack- Elemente der neuen Schichten werden mit dem Frei-Zeichen % initialisiert. Bei diesem Kon- figurationenübergang wird das Ein~abeband gelesen. Die nächstE Abbildung zeigt die Folgekon- figuration.

(10)

z

%

z

S SI 51

1 2 3

z

z

e: e: z

z

E e: z

X

X

X

y

X

%

O/

Jr,

%

y

[ (e:, y ) J

In dieser Konfiguration wirdin-hs oberste SEM-Stack-Element das Wort y und in das viert-oberste SEM-Stack-Element das Wort 2

eingetragen. Dabei darf das Ein- gabeband nicht gelesen werden.

Die nächste Abbildung zeigt die Folgekonfiguration.

In dieser Konfiguration werden die obersten zwei Schichtenge- löscht und das Kellerzeichen der zuvor dritt-obersten Schicht wird mit s

4

überschrieben. Das Eingabeband wird hierbei nicht . gelesen. Die nächste Abbildung

zeigt die Folgekonfiguration.

In dieser Konfiguration müssen die SEM-Stack-Element-Inhalte der gelöschten Schichten mit dem alten Inhalt des neuen SEM-Stack- Top-Elementes konkateniert wer- den. Sie dürfen zuvor permutiert werden. Dabei wird% wie e: be- handelt. Das Eingabeband darf hierbei nicht gelesen wercrer,:- Die nächste Abbildung zeigt die Folgekonfiguration.

In dieser Konfiguration wird mit Lesen des Eingabebandes die oberste Schicht gelöscht und die Kellerzeichen der zuvor dritt- und zweit-obersten Schicht wer- den überschrieben. Die nächste Abbildung zeigt die Folgekon- figuration.

(11)

z

z

e: e:

e: e:

z

z y

~---'---+ X

[(yx)J

In dieser Konfiguration muß der Inhalt des gelöschten SEfl-S"tack- Elernentes mit dem Inhalt des neue~

SEM-Stack-Top-Elementes konkate- niert werden. Das Eingabeband darf dabei nicht gelesen werden.

Die ncichste Abb1 ldung zeigt die Folgekonfiguration.

Wenn n in dieser Konfiguration mit Lesen des Eingabebandes die drei noch existierenden Keller- schichten löscht, so wird das Wort zyx als Ausgabe (oder: Ober- setzung)" des Eingabewortes bbabb ausgegeben.

Nach diesem einleitenden Beispiel folgt nun die formale Definition der k-Schicht Hollander-Pushdown-Maschine.

Definition: Sei ke;IN.

Eine k-Schicht Hollander-Pushdown-Maschine (Abk: hpdm(k)) ist ein 11-Tupel

n = (Z,E,ß,f,\,µ,v,s

0,%,&~z

0),

wobei

(i) Z = Z\ÜZµÜZv endliche, nicht-leere Menge sei

("Menge der Zustände", bestehend aus 11>.-Zuständen",

11µ-Zuständen 11 , 11v-Zuständen11 ) (ii) E,ß,r Alphabete seien

( 11Eingabealphabet11 , 11Ausgabealphabet11 , "Kelleralphabet") (iii) s

0e:r ein ausgezeichnetes Zeichen sei

(11

Ke 11 erst a r t z e i c h e n 11 ) (iv) %,&~ß Sonderzeichen seien

\'Frei - Z e i c h e n 11 , 11 Tue - N i c h t s - Z e i c h e n 11 ) (v) z

0e:Z\ der "Anfangszustand sei

(12)

(vi) ).:Z).x(Eu{s,$})xrk + Zxr*x ™o die "Kellerfunktion" sei, wobei gilt:

( V i i )

( V i i i )

(a) ).(z,s,s) ist definiert

=>

).(z,x,s) ist für alle XsEu{$} undefiniert

(b) ).(z1,x,s1)

=

(z2,s2,t)

=>

t = js 21 (c) ).(z 1 ,x,s 1 ) = (z 2 ,s 2,t)

=>

.J.. = k ) sl

=

s2

( d) ).(z1,x,s1) = (z2,s2,t) mit ( e ) ).(z1,x,s1)

=

(z2,s2,i) mit

µ : Z xJN + Z X ( LJ ( ß * U { & } )X ,t)

µ A i = 1

die 11SEM-Eintragsfunktion11 sei, wobei gilt:

z 2szµ

=>

z2szv

=>

t > k

t < k

(a) µ ist nur an endlich vielen Stellen definiert und der Wert vonµ ist stets endlich

(b) µ(z1,t) = (z2 ,(w1,w2, ... ,w

1)) k

v:Z x {1,2, ... ,k}+ZAx( V rrJ.)

v j=l

die 11SEM-Reduktionsfunktion11 sei, wobei gilt:

1TEIT·

J => ;j = k-t+l

(13)

z

xl x2 X 1-way read-only

Eingabeband

k

~··

sl s2

. .

s,.._k+ 1 Kellerband

Y1 Y2

. . .

~n'l-k+,t Ym SEM-Stack

Model 1 von n

Zu beachten ist, daß eine k-Schicht Hol1ander-Pushdown-

Maschine per Definition ein deterministisches Maschinenmodell ist.

Die Arbeitsweise der k-Schicht Hollander-Pushdown-Maschinen

w i r d durch die Re 1 a t i o n II Sc h r i t t 11 (Abk : 11 + 11 ) auf den K o n f i g ur a - tionen von n beschrieben. Tl

Dazu müssen zunächst die Konfigurationen formalisiert werden.

Analog zur Unterteilung der Zustandsmenge Z in disjunkte Teil- mengen Z ,Z ,Z unterscheidet man A-,µ-,v- Konfigurationen.

A µ v

Definition: Sei n (wie oben) eine hpdm(k).

Eine Konfiguration von n ist ein 4-Tupel K = ( z , X , V ' .2.) '

wobei

(i) xi::E~($}der noch zu lesende Teil des Eingabewortes ist.

(ii) .2.i::~

0 die Anzahl gerade überschriebener Kellerelemente ist (iii) für i und v genau eine der folgenden drei Bedingungen

(a)-(c) erfüllt ist:

(a) zi::ZA ist der gegenwärtige Zustand von n, v = s1(Y1)s2(Y2) ... sm(ym)

mit s. i::

r

l

y.i::ti*u{%}

1

für l<i<m

(14)

( b )

ist der Inhalt des Kellers und der assoziierten SEM-Stack-Elemente.

In diesem Fall heißt Keine A-Konfiguration.

ZEZ µ ist der gegenwärtige Zustand von n, v = s1(Y1)sz(Yz) ... sm(Ym)

mit s.,y. wie im Fall (a) für l<i<m.

l l

In diesem Fall heißt Keine µ-Konfiguration.

(c) ZEZv ist der gegenwärtige Zustand von n, v = s1(Y1)sz(Y2) ... sm(Ym) [(wl,w2, ... ,wr)J

mit si,yi wie im Fall (a) für l<i<m und (w1, ... ,wr)E(&*/rmit r>l

die r Wörter beschreibt, die im nächsten Berech- nungsschritt von n in das neue oberste SEM-Stack- Element geschrieben werden müssen. Dazu werden die.r Wörter .und der alte Inhalt des Ziel-SEM-·

Stack-Elementes permutiert und zu einem Wort kon- kateniert.

In diesem Fall heißt Keine v-Konfiguration.

In jedem der Fälle (iiia)-(tiic) heißt sm(ym) die oberste Scnfcht.

y. heißt der dem Kellerzeic~en s. assoziierte SEM-Stack-

1 l

Element-Inhalt für alle 1-:iim,

E i n SEM- S t a c k - E 1 e m e n t i m i: t 1

~.5~.

m h e i ß t f r e i , f a l l s. y i = % •

Zur Vereinfachung späterer Beschreibungen werden die folgenden zwei Begriffe eingeführt.

Definition: Sei n (wie oben) eine hpdm(k) und sei K = (z,x,v,1) eine Xonfiguration von n.

(i) K heißt Anfangskonfiguration, falls z = z

0 ,

x = x'$ und x' ist das (vollständige) Eingabewort,

V =

9. = k •

(15)

(ii) K heißt Endkonfiguration, falls ze:Z beliebig,

X=$,

V= [(e, .•. ,e:,y)J mit yeä , * '--v---1

(k-l)mal

t = 0.

Als nächstes wird die Relation "Schritt" formalisiert.

Definition: Sei n (wie oben) eine hpdm(k).

Seien K1 = (z1,x1,v1, i1 ), K2 = (z

2,x2,v

2, i2) zwei Kon- figurationen von n-

Dann sagt man:

n geht in 1 Schritt aus der Konfiguration K1 Uber in die Konfiguratioh K

2 (Abk: K

1 + K2),

falls genau eine der folgenden Bedingungen n (i)-(v) er- füllt is.t:

(i) K1,K2 sind ~-Konfigurationen, x1 = xx

1 mit Xe:Eu{e:,$},

(f i)

X2 = X•)

V1

=

'2

=

y's1(Y1Js2(Y2J·' .sk(yk)'

. ~(z1,x,(s1,s2 , ... ,sk)) = (z2,s1s 2 ... sk,k),

R.1 = R.2 = k •

(D.h.n geht ohne Veränderung des Kellerinhaltes durch An- wenden der Kellerfunktion A in einen neuen Zuitand aus ZA Uber.)

Kl ist A~Kon fi gura t i.on, K2 ist µ-Konf1~gurat1~on,

xl

=

xx'

mit Xe:Eu{e:,$}, x2 = X• ,

(16)

vl = v1s1(Y1)s2(Y2)· .. sk(yk) >

A(z 1,x,(s 1,s 2 , ... ,sk)) = (z2,s

1

s

2 ...

sk ... s~,t), v2 = v'si(Y1)s2(Y2) ... sk(yk)5k+l(%) ... s~(%), .el = k,

.i2 = .9..>k.

(D.h. die obersten k Kellerlernente werden überschrieben und der Keller wird um t-k Elemente erweitert. Den t-k zusätzlichen Kellerelementen werden freie SEM-Stack- Elemente zugeordnet. Der alte SEM-Stack-Inhalt bleibt erhalten).

(iii) K1 ist µ-Konfiguration, K2 ist A-Konfiguration, xl = x2'

v1 = v• s1(y1)s2(y2 ) ... s,e.(Yt,),

µ(21,1) = (z2,(w1,w2, ... ,w

1))

mit w.e

l

mit y • . =

l

t 1 =t~k, t 2 = k.

{ {

{&} falls y.eß

l

!).*u{&} sonst

Yi falls w1 = &

w, sonst

l

* für 12i2t,

(D.h. in freie SEM-Stack-Elemente der obersten .R.

Schichten darf ein Wort über dem Ausgabealphabet durch Anwenden der SEM-Eintragsfunktion µ geschrieben werden.

Der Lese-Kopf auf dem Eingabeband und der Kellerinhalt bleiben da5ei unverändert.)

(17)

( i V )

( V )

Kl ist >..-Konfiguration) K2 ist v-Konfiguration, Xl ::: xx1 rn i t Xe:2'.u{e:,$},

x2 = X' '

vl = v's1(Y1)s2(Y2) ... sk(yk),

A(z 1,x,(s 1,s 2 , ... ,sk)) = (z 2 ,s

1

s

2 ...

s1,t),

V 2 ::: V I s

i (

y 1 ) s

2 (

y 2 ) . . . s ~ ( y i ) [ (

Y_i

+ l ' . . . 'y

k )

J

wobei y~ = 1

9.1 = k, 9.2 = i<k.

{ e:.

y. 1

falls y. = %

l

sonst für .e+l~i~k,

(O.h. der Keller wird um k-l Elemente reduziert und die obersten 9, Kellerelemente werden überschrieben.

Für die überschriebenen Kellerelemente bleibt der SEM- Stack-Innalt unverändert.

Der SEM-Stack-Inhalt der gelöschten k-i Kellerelemente wird als {k-9.)-Tupel

rechnungsschritt von

aufbewahrt und muß im nächsten Be- obersten Schicht

n in das SEM-Stack-Element der

geschrieben werden (vgl. Fall (v)).) Kl ist v-Konfiguration,

K2 ist 11.-Konfiguration, xl = x2,

vl = v's1(Y1)· .. s9,-1(Y9,-l)s9,(Y9,) [(Yi+l'" .. ,yk)J, v(z1,i) = (z2,TI),

v2 = v•s 1(y1 ) ... si_ 1(Y9,_ 1 )s9,(Yi) mit y i J = w TI ( 1

f'·•·

0 w TI ( k- i + 1 ) ,

{

e: fa 11 s Y, = %

wobei Wl =

Yi sonst W2 = Y i·+l

W3 = Yi+2 wk-t+l = yk

l

(18)

t1 = t<k, i2 = k.

(D.h. nach Reduzieren des Kellers (vgl. Falls(iv)) wird in das SEM-Stack-Jop-Element die Konkatenation der Permu- tation n der Inhalte der gelöschten SEM-Stack-Elemente und des alten Inhaltes dieses Ziel-SEM-Stack-Elementes geschrieben.

Der Lese-Kopf auf dem Eingabeband und der Kellerinhalt bleiben dabei unverändert.)

Definition: Sei n eine hpdm(k).

+ * sei der reflexive und transitive Abschluß der Relation+

n. n

+ i

n bezeichne i Schritte von +

n

Damit ist die Arbeitsweise einer Hollander-Pushdown-Maschine vollständig definiert worden.

zusammenfassend besagen die letzten zwei Definitionen, daß nur die fn dem folgenden Diagramm angegebenen Konfigurationenübergänge für eine Hollander-Pushdown-Maschine erlaubt sind, wobei K. für

i

iE{l,µ,v} die Menge aller K;--Konfigurationen einer hpdm(k) sei.

lt ,,

(gestrichelte Pfeile bedeuten: ·Lesen der Eingabe verboten, durch- gezogene Pfei 1 e bedeuten: "Lesen der Eingabe erlaubt'~)

Die Aufgabe einer Hollander-Pushdown-Maschine ist es, Eingabe- sprachen in Ausgabesprachen zu übersetzen.

Dazu definiert man:

(19)

Definition: Sei n (wie oben) eine hpdm(k).

(i) t(n) := {(x,y)er*x~*I

(z ,x$,s (e) ... s (E)S (%),k) +*

o o ~ o n

(k-l)mal

(z,$,[(E,, .. ,E,y)J,0) für ein ZEZ}

~ (k-l)mal

heißt die durch n definierte Transduktion.

(ii) yeß* heißt Ausgabe (Obersetzung) von xer * bzgl. n :<=> (x,y)et(n).

(iii) Die Funktion f:

l ~

x * ~ y, falls (x,y)et(n) heißt die durch n definierte hpdm-Abbildung.

(iv) Sei L1~r* und sei f hpdm-Abbildung von n.

Dann heißt

L1 Eingabesprache von n,

L2 .- f(L 1) Ausgabesprache von n

(oder: die durch n definierte Obersetzung der Sprache L1).

Somit ist eine Hollander-Pushdown-Maschine ein Transduktor.

Dabei ist die durch eine Hollander-Pushdown-Maschine definier- te Transduktion eine Transduktion bei leerem Keller.

Bemerkung:

Aus den obigen Definitionen folgt, daß eine hpdm(l) bzgl. der Erkennung der Eingabesprache nur die Kraft eines endlichen Automaten hat. Sie kann nämlich nur dann in eine Endkonfigu-

ration übergehen, wenn ihr Keller stets höchstens 1 Element hat. Die Stärke eines Kellerbandes können nur die hpdm(k) aus- nutzen mit k;:: 2.

(20)

Das bisher eingeführte Maschinenmodell arbeitet deterministisch.

Die definierte Transduktion ist eine Funktion.

Auf die folgende Weise kann man ein analoges nicht-deterministi- sches Maschinenmodell definieren.

Definition: Sei n (wie oben) eine hpdm(k).

n heißt nicht-deterministische K-Schicht Hollander-Pushdown- Maschine (Abk.:n-hpdm(k)), falls die Bedingungen (i),(vi ), (vii)

(viii) in der Definition der hpdm(k) ersetzt werden durch:

( i ) 1

(vi)'

(vi.i)'

Z = Z uZ uZ , wobei die Mengen Z

,z

Z nicht disjunkt

A µ V A µ V

zu sein brauchen.

>..:Z>..x(Eu{e:})xrk+E(Zxr*x~

0) ist die "Kellerfunktion", wo5ei gilt:

(a)'-(d)' analo0 vde Bedingung (vi b)-(vi e)der Defir.ition der hpdm(k).

µ :

z

µ xIN+E (

z

X (

~

(Li* u { & } t l ) )

· >.. i=l

ist die "SEM-Eintrags.funktion", w·o5ei gilt:

(a1 ) und (5') analog wie Bedingung (viia) und (vii b) der Definition der hpdm(k).

k

(vi:i'i) 1 v:Z x{l,2, ... ,k}+E(Z x( U JI.)) ist die SEM-

v · A j=l J

Reduktionsfunktion, wobei gilt:

mit 'Tfe: II j --> J. = k-i+-1.

Die durch eine nicht-deterministische k-Schi_cht Hollander- Pushdown-Maschine definierte n-hpdm-Abbildung geht von r* nach P(Li*).

Die durch eine n-hpdm(k) n definierte Transduktion ist im allge- meinen eine Relation t ~ r*xli* . Sie ist definiert dl..lrc.h

t(n) := ((x,y)e:r*xli*I (z ,x,s (e:) ... s (e:)s (%),k) +*

o o ~ o o n

(k-l)mal (z,., [(e:,,,. ,e:,Y)J,O) für ein zeZ}.

'--v--J (k-1) mal

(21)

Die Begriffe 11 Konfiguration11 , 11Anfangskonfiguration 11 , "Endkon- figuration" sind für eine n-hpdm(k) entsprechend der Definition der Transduktion zu modifizieren.

Die folgenden Klassen von Transduktionen werden im folgenden untersucht:

Definition: HPDM(k) := {t(n.)I 11. ist hpdm(k)}.

HPDM := V

k~1

HPDM(k).

(Mit dem Zusatz"N-11 sind die von den entsprechenden nicht- deterministischen Maschinen definierten Transduktionen- klassen gemeint.)

(22)

3.2 Ein Beispiel

In diesem Kapitel wird eine deterministisch arbeitende Hollander- Pushdown-Maschine konstruiert, die die Transduktion

t := {(wcv,vdw)lw,ve: {0,1}*} definiert. Aha hat in [2] gezeigt,

V

daß t v eine syntax-gesteuerte Transduktion ist. Im nächsten Ka- pitel wird gezeigt, daß die nicht-deterministischen Hollander- Pushdown-Maschinen genau die syntax-gesteuerten Transduktionen definieren. Das folgende Beispiel dient als Motivation für die- sen Satz.

mit Z wo5ei

Z,üZ ÜZ "' µ \/

z .-

).. {Z o ,z1,z2,Z3,Z4,Z5}, .

Die ( 1 )

Z µ .- { za,zb,zc,za,zb, 1 ' }

zv .- {z

1

,z

2

,z

5 })

E •

!:,

r .

{O,l,c}) {0,1,d}, {so,sl}.

Funktionen

" ' µ 'v )..(z

0 ,0,(s0 ,s0 ))

;x,(z

0 ,1,(s

0 ,s

0 ))

;x,(z

0 ,c,(s

0 ,s

0 ))

µ(za,2) µ(zb,2) µ(zc,2)

sind wie folgt

: = (za,s0s0 ,2)

. -

(zb,s s ,2)

0 0

. -

(zc,s0s0 ,2)

. -

( z l , ( & , 0 ) )

. -

: = ( z l , ( & , 1 ) ) .

-

(z 3,(&,cl))

definiert:

(O.h. wenn w ; e: ist, so wird der erste Buchstabe von w in das zweitunterste S~M-Stack-Elernent eingetragen. Andern- falls wird dort d eingetragen.)

(23)

( 2 )

( 3 )

( 4 )

11(2 1 ,0, (s0 ,s

0 ))

.

- (z ,s s sa o o 1,3) 11(21,1, (s

0 ,s

0 ))

. -

(zb,s0s

0s1,3) µ(Z ,3) a

. -

(z1,(&,&,0)) µ(zb,3)

.

- (z

1

,(&,&,l)) 11(z1,c:,(s

0 ,s

1))

. -

(z1,s0 ,l)

v(z1,l)

. -

( 21' ( 12)) 12

(D.h. für jeden Buchstaben des Teilwortes w wird zunächst ein drittes Kellerelement aufgebaut und in das assoziierte SEM-Stack-Element wird das gelesene Eingabezeichen einge- tragen. Anschließend wird das aufgebaute Kellerelement wieder gelöscht. Der Inhalt des assoziierten SEM-Stack-

Elementes wird mit dem Inhalt des zweituntersten SEM-Stack- Elementes konkateniert. Auf diese Weise wird im zweit-

untersten SEM-Stack-Element das Wort w aufgebaut.)

\(zl'c,(s0 ,s0 )) - (zc,s0s0s 1 ,3) µ{ZC,3)

.-

(z2,(&,&,d))

\(22,E, (~o,sl))

. -

(z2,s0 ,l) v(Zz,l) - (z3,(21)) 12

(D.h. wenn das Eingabezeichen c gelesen wird, so wird ein drittes Kellerelement generiert und in das assozii·erte SEM-Stack-Element wird das Wort d eingetragen. Anschlie- ßend wird das dritte Kellerelement gelöscht. Der Inhalt des assoziierten SEM-Stack-Elementes wird vor den alten Inhalt des zweituntersten SEM-Stack-Elementes geschrieben.

Auf diese Weise wird im zweituntersten SEM-Stack-Element das Wort dw aufgeoaut.)

\(z3,o,(s

0 ,s

0 ))

. -

(21 ,s s s

1,3)

. -

a o o

\(23,1,(s

0 ,s

0 ))

. -

(zb,s

0s

0s 1 ,3)

. -

\(z4,0,(s;,s1))

. -

(z~,s

0s1s1,3)

. -

>-(z

4,l,(s

0 ,s

1))

. -

(zb,s

0s1s 1,3)

. -

µ(z~,3) : = (24,(&,&,0))

(24)

( 5 )

µ(zb,3) - (- z

4 , ( & , & , 1 ) ) -'.(z4, e:, (sl ,sl)) - (z

4,s

1,l) v{z4,l)

.

- { z 4 ' ( 12) ) 12

(D.h. falls v 1- E. ist, so wird im Zustand z

3 ein drittes Kellerelement generiert. Im assoziierten SEM-Stack-

Element wird analog wie im Fall (2) das Wort v aufgebaut.)

;l.(z

3,$,{s ,s )) -

(z

5,t,0)

0 0

A(z4,$, (s

0 ,s

1)) - (z 5,s

0 ,l) v(z5,l)

.

- (z5,(21)) 12 A(z5,e:,(s

0 ,s

0 ))

.

- (z

5,e:,O).

(D.h. wenn v = e:, dann wird beim Lesen der Endemarkierung der Eingabe der Kellervöllig gelöscht. Andernfalls wird beim Lesen der Endemarkierung das dritte Kellerelement gelöscht und der Inhalt v des assoziierten SEM-Stack- Elementes vor den Inhalt dw des zweituntersten SEM-Stack- Elementes geschrieben. Anschließend wird der Keller völlig gelöscht.)

Offensichtlich ist die so konstruierte Maschine eine hpdm(2).

Mit vollständiger Induktion über die Anzahl der Berechnungs- schritte von n bzw. mit vollständiger Induktion über die Länge des Eingabewortes folgt:

t(n) = {(x,y)e:r*xß*l(z ,x$,s (e:)s (%),2) +*

o o o n

(z,$,[(e:,y)J,0) mit ze:Z}

= {(x,y)e:r*xß*j(z

0,x$,s

0(e:)s

0(%),2) ;*

(z,$,[(e:,y)J,0) rnit z

= i

5, x

=

wcv, y = vdw wobei w,ve:{0,1}*}

= {(wcv,vdw

I

w,ve:{O,l}*}

= tv

(25)

wl w2

z

zo

wl w2

z

wl w2

z

z

Z4

wm-1 w m C

e: %

w m-1 w m

so s 0 sl

e: wl wm

w2 w n-

m-1

e:

w m-1

so

e:

w

so

d w

wm C

d

C

~1 vl

V2

V n-

vl wobei

t

"T\

~

vl

,J,,1t

q.

vl

s 1

V n

t11

4-

y2 y

$

w 1,w 2 > ••

·l

m , v 1/ 2 ' ···,V n e: { O , 1 }

y2

v2

V n-1

V n-1

wobei w

V n-1

V n

V n

V n

$

(26)

z

z

~5

w m-1

E V

- - - - d w

w m

C

C

[(E,vdw)J

V n-1

wobei v

V n-1

(27)

3.3 Mächtigkeit des Modells

Der erste Satz dieses Kapitels besagt, daß die nicht-determi- nistischen k-Schicht Hollander-Pushdown-Maschinen echt stärker sind als die analogen deterministischen.

Satz 3.3.1 : HPDM ~ N-HPDM.

Beweis-Idee: Man betrachte als Gegenbeispiel die Transduktion

R

*

tR := {(ww ,1) IW E {0,1} } .

(Die Ausführung des Beweises findet man in [11].) Der folgende Satz ist die zentrale Charakterisierung der durch nicht-deterministische k-Schicht Hollander-Pushdown-Maschinen definierten Transduktionen. Er besagt, daß für k ~ 2 die nicht- deterministischen k-Schicht Hollander-Pushdown-Maschinen die- selbe Transduktionenklasse definieren wie die von Aho [1] ein- geführten k-Register Pushdown-Assembler.

Satz 3.3.2 : Für alle k ~ 2 gilt:

N-HPDM(k) = PA(k).

Der Beweis dieses Satzes ist recht umfangreich. Man findet ihn in [11] im Kapitel 3.3. Dort wird er durch mehrere Hilfssätze geführt. Interessant dabei ist, daß man die Richtung 11:?11 des Beweises mit derselben Konstruktion auch für die analogen de- terministischen Transduktionenklassen führen kann. Offen ist dagegen, ob dies auch bei der Umkehrrichtung "c11 geht.

Bemerkung: D~r Satz 3.3.2 gilt für k = 1 nicht.

Genauer kann man zeigen:

N-HPDM(l) ~ PA(l).

(Man betrachte als Gegenbeispiel wieder die im Be- weis zum Satz 3.3.1 definierte Transduktion

tR := {(wwR,l)lw E {0,1}*}.)

Aus dem obigen Satz ergibt sich wegen [1] unmittelbar das fol- gende Korollar 1 über die von nicht-deterministischen Hollan- der-Pushdown-Maschinen definierten Transduktionen:

(28)

Korollar 1: Für alle k ~ 2 gilt:

N-HPDM(k) = SDT(k).

Die nicht deterministischen k-Schicht Hollander-Pushdown-Maschi- nen definieren also für k ~ 2 genau die syntax-gesteuerten Trans- duktionen der Ordnung k.

Im Compilerbau interessiert man sich für die Länge der Ausgabe- wörter bei Transduktionen. Für die nicht-deterministischen

k-Schicht Hollander-Pushdown-Maschinen gibt das folgende Korol- lar 2 darüber Auskunft:

Korollar 2: Sei k ~ 2 und sei n eine n-hpdm(k).

Dann gibt es zu jedem Wort x

*

E aus der Eingabe- sprache der durch n defin1erten Transduktion t ein Ausgabewort y derart, daß die Länge von y linear von der Länge von x abhängt und (x,y) Et.

Mit dem Satz 3.3.2 kann nach den Aussagen von Aho aus [1] und [2] leicht der folgende Hierarchiesatz für. die von nicht-deter- ministischen k-Schicht Hollander-Pushdown-Maschinen definierten Transduktionen gezeigt werden:

(29)

Satz 3.3.3 (Hierarchiesatz für N-HPDM(k)

Es gelten die folgenden Beziehungen zwischen Transduktionen- klassen:

N-HPDM=PA=SDT

r N-HPDM(k+l)=PA(k+l)=SDT(k+l) ""I / N-HPDM(k)=PA(k)=SDT(k) ....

/ --..

,

.

N-HPDM(4)=PA(4)=SDT(4)

=

N -H \> D M C 3) ,. PA (.3 ) '"'5 D T t3)

N-HPDM(2)=PA(2)=SDT(2)

r SDT(l) PA ( 1 l

lN-HPDM(l)

j

.... ...

.... 1,.

1,.

(durchgezogene Linien bedeuten: "die Teilmengenbeziehungen si0d echt")

In dem folgenden Satz wird die Hollander-Push~own-Maschine mit den im Kapitel 2 aufgeführten mathematischen Sprachübersetzungs- modellen aus Literatur verglichen.

(30)

Satz 3.3.4: Es gelten die folgenden Hierarchien von Trans- duktionenklassen:

N-HPDM

=PA=

(durchgezogene Linien bedeuten: 11die Teilmengebeziehungen sind echt11 ) .

(Den Beweis findet man in [11].)

(31)

4. Erweiterung des Modells und Ausblick

Wenn man die Hollander-Pushdown-Maschine um ein mit einer total-rekursiven Funktion S{n) bandbeschränktes Arbeitsband erweitert, erhält man eine Hollander-Maschine. Sie ist die voll- ständige mathematische Version des 1973 von Hollander [7] ein- geführten Decompilationsmodells und gibt somit Auskunft über die Decompilation.

Auf dem Arbeitsband einer S(n)-bandbeschränkten Hollander- Maschine sind p ~ 1 Köpfe. Es wird zusammen mit Keller, Einga- beband und Zustandsmenge zur Erkennung der Eingabesprache be- nutzt. Die Formalisierung findet man in [11]. Dort wird gezeigt, daß eine Hollander-Maschine ein um einen SEM-Stack erweiterter deterministischer Auxiliary-Pushdown-Automat [3] ist, wobei der SEM-Stack so wie der einer Hollander-Pushdown-Maschine bearbei- tet wird. Dieses Modell ist echt stärker als die Hollander-Push- down-Maschine für alle Bandfunktionen S(n) ~ log

2n.

Interessant in diesem Zusammenhang ist der Satz von Cook [3], der besagt, daß man einen nicht-deterministischen S(n)-band- beschränkten Auxiliary-Pushdown-Automaten durch einen determi- nistischen Auxiliary-Pushdown-Automaten mit derselben bandfunk- tion S(n) simulieren kann, falls S(n) ~ log

2n. Es erhöht sich bei der Simulation lediglich die Anzahl p der Köpfe auf dem Ar- beitsband und die Kardinalzahl des Arbeitsbandalphabetes (vgl.

Sudborough [12]). Diese Aussage gilt somit analog für Hollander- Maschinen bzgl. der Erkennung der Eingabesprache. In [11] wurde jedoch gezeigt, daß man allgemein eine nicht-deterministische Hollander-Maschine nicht durch eine deterministische simulieren kann, da bei einer nicht-deterministischen Hollander-Maschine auch der SEM-Stack nicht-deterministisch behandelt werden darf.

Offen bleibt aber immer noch, wie sich die _zugehörigen definier- ten Transduktionenklassen zueinander verhalten.

Cook gibt in [3] eine untere Schranke für die Laufzeit eines deterministischen S(n)-bandbeschränkten Auxiliary-Pushdown-

(32)

Automaten an, für Bandfunktionen S(n) ~ log

2n. Sie beträgt T(n) = 2c•S(n), c = const. Diese Aussage gilt analog für S(n)-bandbeschränkte Hollander-Maschinen.

In der Praxis ist die Bandfunktion S(n) linear, denn auf dem Arbeitsband werden dort die XREF-Tabelle und Marken-Identi- fizierungstabellen dargestellt. Für die Praxis ist eine Lauf- zeit T(n) = 2c'•n, c' = const, zu groß. Für die Praxis müßte daher die Arbeitsweise einer S(n)-bandbeschränkten Hollander- Maschine unter Beibehaltung des Arbeitsbandes so eingeschränkt sein, daß sich die Laufzeit z.B. durch ei.n Polynom beschränken läßt.

1978/79 wurde von der Projektgruppe Umkehrcompilierung 2 an der Universität Dortmund ein Decompiler implementiert, der zur Identifizierung von Marken den SYN-Stack nicht wie einen Push- down, sondern wie einen Stack im Sinne von Ginsburg [6] bear- beitet, d.h. der SYN-Stack darf beliebig tief gelesen werden.

Führt man diese Erweiterung bei einer S(n)-bandbeschr.änkten Hollander-Maschine ein (d.h. ersetzt man die Konstante k durch eine Funktion k(n)), so folgt mit einem Satz von Ibarra [8]

über Auxiliary-Stack-Automaten, daß die so modifizierte Maschi- ne eine Mindestlaufzeit von T(n) = 22c•S(n), c = const, hat.

Daraus folgt, daß die oben genannte erhebliche Erweiterung des Maschinenmodells in der Praxis für größere Eingabeprogramme nicht durchführbar ist.

Die Frage,,wieviel der Keller einer S(n)-bandbeschränkten Hol- lander-Maschine bei der Definition der Eingabesprache der de- finierten Transduktion prinzipiell beiträgt, läßt sich über die analoge Frage von Cook bei S(n)-bandbeschränkten Auxiliary- Pushdown-Automaten auf die zentralen ungelösten Probleme der theoretischen Informatik zurückführen. Man vergleiche dazu die Arbeit von Galil 1977 [4]. Dieses Problem ist interessant, weil seine Lösung eine Aussage über die Beziehung zwischen Zeit- und Bandkomplexität bei deterministischen Turingmaschinen ergibt.

(33)

:.-: lNu{O)

11

- 1

bezeichnet die Menge aller Permutationen der Ordnung k bezeichnet eine Pcrmutatlon aus nk

n

P(M) E(M}

e:

=

C

u

X

-"k M

E

s 0

bezeichnet die inverse Permutation zu n bezeichnet die Potenzmenge der Menge M

bezeichnet die Menge aller endlichen Teilmengen der Menge M

bezeichne das Elementzeichen bezeichne die leere Menge bezeichnet die Gleichheit

bezeichnet die Teilmengenbeziehung

bezeichnet die echte Teilmengenbeziehung bezeichnet die Vereinigung bei Mengen bezeichnet den Durchschnitt bei Mengen

bezeichnet das kartesische Produkt bei Mengen bezeichnet das k-fache kartesische Produkt der Menge M mit sich selbst

bezeichnet die Mengendifferenz bezeichnet das freie Monoid über M bezeichnet das leere Wort

bezeichnet ein Eingabealphabet bezeichnet ein Ausgabealphabet bezeichnet ein Kelleralphabet

bezeichnet ein Arbeitsbandalphabet bezeichnet das Blank-Zeichen

bezeichnet das Kellerstartzeichen

% bezeichnet den Inhalt eines freien Registers oder eines freien SEM-Stack-Elementes

& bezeichnet das "Tue-Nichts"-Zeichen

$

bez e i c h n et das Ende der Ei n g 2 b e bei de l o m i n i s t i s c h c n Maschinen

Z bezeichnet eine Zustandsmenge bezeichnet den Anfangszustand bezeichnet eine Konfiguration ·-·

bezeichnet eine Zeitfunktion bezeichnet eine Bandfunktion

bezeichnet einen Pushdown-Transduktor (Abk: pdt) bezeichnet einen Pushdown-Assembler (Abk: pa) bezeichnet eine Hollander-Pushdown-Maschine (Abk:

t b e z

e

i c h n e t e i n e. T r a n s d u k t i o n f bezeichnet eine Obersetzung

+ bezeichnetdas Ableitungszeichen

0 b c z e i c h n et da s K o n k a t e n a t i o n s. z e i c h e n

hpdm)

(34)

Literatur

[ 1 ] Aha: Pushdown-Assembler J.CSS 3 ' 1969

[ 2] Aha: Properties of Syntax Directed Translations, J.CSS 3' 1969

[ 3] Cook: Characterizations of Pushdown Machines in Terms of Time-Bounded Computers,

J. ACM 18/1971

[ 4] Galil: Some Open Questions in the Theory of Computation as Questiona about 2-way Deterministic Pushdown- Automaton Languages,

Math. Syst. Theory 10, 1977

[ 5] Ginsburg: The mathematical Theory of Context-Free Languages, Mac Graw-Hill, 1966

[ 6] Ginsburg: Stack Automata and Compiling, J. ACM 14, Jan. 1967

[ 7] Hollander: Decompilation of Object Programs, Dissertation, Standford University, 1973 [ 8] Ibarra: Characterizations of Same Tape and Time-

Complexity-Classes of Turing-Machines in Terms of Multihead and Auxiliary-Stack-Automata, J. css 5, 1971

[ 9] Projektgruppe Unkehrcompilierung 2: Endbericht der Projektgruppe Umkehrcompilierung, Gruppe 2, Universität Dortmund, 1979

[10] Schreiber: Syntaxgesteuerte Transduktionen und Trans-

duktoren, Bericht Nr. 74-02, Universität Berlin, 1974 [11] Schuster: Mathematische Maschinenmodelle für Sprachüber-

setzungen, Diplomarbeit, Universität Dortmund, 1980 [12] Sudborough: Separating Tape-Bounded Auxiliary-Pushdown-

Automata Classes

Symposium on Theory of Computing Colorado, 1977

Referenzen

ÄHNLICHE DOKUMENTE

I suspect, however, that it could also indicate his lack of confidence and full trust in the English medium, with that word “medium” representing a site not chosen, unowned,

This implies that to establish a similar infinite hierarchy for deterministic pushdown automata based on the number of states and pushdown symbols over a binary (constant)

We prove that there exist context-free languages which cannot be accepted by any blackhole PDA with a sublinear depth function and any blackhole R-sPDA with a sublinear depth

In this paper, we discussed two variants of pure multi-pushdown automata that perform complete pushdown pops and proved two infinite language hierarchies they characterize with

The paper demonstrates that these automata define an infinite hierarchy of language families that is identical with the infinite hierarchy of language families resulting from

Flächennutzungsplan: Gewerbliche Baufläche Bebauungsplan: Kastel 1994/01. Art der baulichen

Flächennutzungsplan: Wohnbaufläche mit hohem Grünanteil Bebauungsplan: Kastel 1990/01. Art der baulichen

Das Angebot gilt nur für Titel, die grundsätzlich zur Einführung geeignet sind | Diese Titel erhalten Sie nur zum angegebenen Preis Diese Titel liefern wir zum angegebenen Preis