Übersetzungstechnik. Francesco Kriegel. TU Dresden Fakultät Mathematik Institut Algebra WS 2008 / 2009

Größe: px
Ab Seite anzeigen:

Download "Übersetzungstechnik. Francesco Kriegel. TU Dresden Fakultät Mathematik Institut Algebra WS 2008 / 2009"

Transkript

1 Übersetzungstechnik Francesco Kriegel TU Dresden Fakultät Mathematik Institut Algebra WS 2008 / Januar 2010

2

3 Inhaltsverzeichnis Kapitel 1 Automat endlicher Automat Kellerautomat Turingmaschine und linear beschränkter Automat Kapitel 2 Sprache und Grammatik Alphabet und Sprache Grammatik und Chomsky-Hierarchie Satzgliederungsgrammatik (Typ 0) kontextsensitive Grammatik (Typ 1) kontextfreie Grammatik (Typ 2) reguläre Grammatik (Typ 3) Kapitel 3 Kompilation Analyse lexikalische Analyse syntaktische Analyse semantische Analyse Synthese Codeerzeugung Optimierung

4 2

5 1 Automat 1.1 endlicher Automat Definition 1.1 (endlicher Automat) Ein endlicher Automat ist ein Quintupel mit den folgenden Eigenschaften: A = (Q, Σ,, i, F) (i) Q ist eine endliche Menge von Zuständen, (ii) Σ ist ein endliches Alphabet, (iii) i Q ist ein Anfangszustand, (iv) (Q \ F) Σ Q ist eine Zustandsübergangsrelation, (v) F Q ist eine Menge von Endzuständen. Man schreibt A FA. Ein endlicher Automat heißt deterministisch, wenn die Zustandsübergangsrelation eine Zustandsübergangsfunktion ist, und man schreibt A DFA. : (Q \ F) Σ Q Definition 1.2 (Pfad, akzeptierte Sprache) Sei A = (Q, Σ,, i, F) ein endlicher Automat. (i) Eine endliche Folge σ π = q 1 σ 0 2 σ n 1 σ q1... q n n 1 qn σ von Zustandsübergängen q i i qi+1 heißt Pfad der Länge n von q 0 nach q n mit der Beschriftung β(π) := σ 1... σ n. Der leere Pfad hat 3

6 1 Automat Länge 0 und Beschriftung ɛ. Man schreibt p ω q, wenn es einen Pfad von p nach q mit der Beschriftung ω gibt, und weiter sei P ω Q, wenn es Zustände p P und q Q mit p ω q gibt. (ii) A akzeptiert das Wort ω Σ ω, wenn i F gilt. Die von A akzeptierte Sprache ist (iii) Ein Paar L(A) := {ω Σ i (q, σ) Q Σ ω F}. heißt Konfiguration von A. Damit wird eine Konfigurationsübergangsrelation definiert mit (p, xα) (q, α) : p x q. Wir setzen als die reflexiv-transitive Hülle von. Lemma 1.3 (i) Es gilt p ω q genau dann, wenn (p, ωα) (q, α). (ii) Für A TM gilt L(A) = {ω Σ q F : (i, ω) (q, ɛ)}. Definition 1.4 (endlicher Automat mit Wortübergängen) (i) Ein endlicher Automat mit Wortübergängen ist ein Quintupel A = (Q, Σ,, i, F), bei dem Q, Σ, i, F wie für einen endlichen Automat definiert sind und (Q \ F) Σ Q ist. (ii) Ein endlicher Automat mit ɛ-übergängen ist ein endlicher Automat mit Wortübergängen, so dass (Q \ F) Σ {ɛ} Q ist. Satz 1.5 Zu jedem endlichen Automat mit ɛ-übergängen existiert ein äquivalenter endlicher Automat. 4

7 1.1 endlicher Automat Beweis: Sei A = (Q, Σ,, i, F) ein endlicher Automat mit ɛ-übergängen. Einen äquivalenten endlichen Automat A := (Q, Σ,, i, F ) erhält man mit := {(p, σ, q) (Q \ F) Σ Q p σ q} und F := { ɛ F {i} (i F) F (sonst). Satz 1.6 Zu jedem endlichen Automat existiert ein äquivalenter deterministischer endlicher Automat. Beweis: Sei A = (Q, Σ,, i, F) ein endlicher Automat. Dann erhält man einen deterministischen endlichen Automat A := ( (Q), Σ,, {i}, F ) durch für alle P (Q) und σ Σ und P σ := p σ p P F := {P (Q) P F = }. Satz 1.7 Zu jedem deterministischen endlichen Automat existiert ein äquivalenter kleinster deterministischer Automat. Beweis: Sei A = (Q, Σ,, i, F) ein deterministischer endlicher Automat. Ein Zustand q Q von A heißt erreichbar, wenn ein Wort ω Σ ω mit i q existiert. Damit wird zunächst ein äquivalenter deterministischer endlicher Automat konstruiert, der nur aus erreichbaren Zuständen besteht: A 0 := (Q 0, Σ, 0, i, F 0 ) mit Q 0 := {q Q ω Σ : i ω q} und 0 := Q 0 Σ Q 0 sowie F 0 := F Q 0. Für einen Zustand q Q sei A q := (Q, Σ,, q, F). Zwei Zustände p, q Q heißen A-äquivalent, wenn L(A p ) = L(A q ) gilt. Dafür schreibt man auch p q. ist eine Äquivalenzrelation auf Q und verträglich mit. Damit wird nun der Quotientenautomat zu A konstruiert, der äquivalente Zustände zusammenfasst: A/ := (Q/, Σ,, [i], F/ ) mit [q] := {p Q p q} Q/ := {[q] q Q} 5

8 1 Automat [q] σ := [q ] σ F/ := {[q] q F} Schließlich heißt A red := A 0 / der reduzierte Automat zu A und ist der kleinste deterministische endliche Automat, der L(A) akzeptiert. A red hängt nur von L(A) ab, d.h. aus L(A) = L(B) folgt A red = Bred. Definition 1.8 (erzeugter Automat) Sei L Σ eine Sprache. (i) Die Äquivalenzrelation α β : ω Σ : α ω L β ω L heißt Nerode-Rechtskongruenz. (ii) Das von L erzeugte Transitionssystem ist mit [ω] σ [ωσ]. A(L) := (Σ /, Σ,, [ɛ], L/ ) Satz 1.9 (i) Hat endlichen Index für eine Sprache L, so ist A(L) ein DEA mit L(A(L)) = L. (ii) Eine Sprache L ist genau dann erkennbar, wenn endlichen Index hat. (iii) Für eine erkennbare Sprache L ist A(L) der kleinste DEA mit L(A(L)) = L. (iv) Ist L eine erkennbare Sprache und A ein DEA mit L(A) = L, so gilt A red = A(L). 1.2 Kellerautomat Definition 1.10 (Kellerautomat) Ein Kellerautomat ist ein 7-Tupel mit den folgenden Eigenschaften: A = (Q, Σ, Γ,, #, i, F) 6

9 1.2 Kellerautomat (i) Q ist eine endliche Menge von Zuständen, (ii) Σ ist ein Alphabet von Eingabesymbolen, (iii) Γ ist ein Alphabet von Kellersymbolen, (iv) (Q \ F) Γ (Σ {ɛ}) Q Γ ist eine Zustandsübergangsrelation, (v) i Q ist ein Startzustand, (vi) # Γ ist ein Anfangssymbol im Keller, (vii) F Q ist eine Menge von finalen Zuständen. Man schreibt A PDA. Ein Kellerautomat heißt deterministisch, wenn die Zustandsübergangsrelation die Eigenschaft q Q \ F A Γ x Σ : (q, A) x + (q, A) ɛ 1 erfüllt, und man schreibt A DPDA. Definition 1.11 (Konfiguration, akzeptierte Sprache) Sei A = (Q, Σ, Γ,, #, i, F) ein Kellerautomat. (i) Ein Tripel (q, γ, σ) Q Γ Σ heißt Konfiguration von A. Damit wird eine Konfigurationsübergangsrelation definiert mit (p, Aα, xβ) (q, ωα, β) : (p, A) x (q, ω). Wir setzen als die reflexiv-transitive Hülle von. (ii) A akzeptiert das Wort ω Σ, wenn ein Zustand q Q existiert mit (i, #, ω) (q, ɛ, ɛ). Die von A akzeptierte Sprache ist L(A) := {ω Σ q F : (i, #, ω) (q, ɛ, ɛ)}. 7

10 1 Automat 1.3 Turingmaschine und linear beschränkter Automat Definition 1.12 (Turingmaschine) Eine Turingmaschine A ist ein 7-Tupel mit den folgenden Eigenschaften: A = (Q, Σ, Γ,,, i, F) (i) Q ist eine endliche Menge von Zuständen. (ii) Σ ist ein Alphabet von Eingabesymbolen. (iii) Γ Σ ist ein Alphabet von Bandsymbolen. (iv) (Q \ F) Γ {L, 0, R} Q Γ ist eine Zustandsübergangsrelation. (v) i Q ist ein Anfangszustand. (vi) Γ \ Σ ist ein Symbol für das leere Feld. (vii) F Q ist eine Menge von finalen Zuständen. Man schreibt auch A TM. Eine Turingmaschine heißt deterministisch, wenn die Zustandsübergangsrelation eine Zustandsübergangsfunktion ist, und man schreibt A DTM. : (Q \ F) Γ {L, 0, R} Q Γ 8

11 1.3 Turingmaschine und linear beschränkter Automat Definition 1.13 (Konfiguration, akzeptierte Sprache) Sei A = (Q, Σ, Γ,,, i, F) eine Turingmaschine. (i) Ein Wort κ = αqβ mit α, β Γ + und q Q heißt Konfiguration von A. Damit wird eine Konfigurationsübergangsrelation definiert mit αpaβ αqbβ αpa αqb : (p, A) 0 (q, B) 9

12 1 Automat αpaβ αbqβ αpa αbq : (p, A) R (q, B) αcpaβ αqcbβ ωpaβ qωbβ : (p, A) L (q, B). Wir setzen als die reflexiv-transitive Hülle von. (ii) Gilt κ κ, so heißt κ Folgekonfiguration von κ. Eine Konfiguration κ heißt Stoppkonfiguration, wenn sie keine Folgekonfiguration besitzt. Eine Konfiguration κ = αqβ heißt akzeptierend, falls q F. (iii) A akzeptiert das Wort ω Σ, wenn eine akzeptierende Stoppkonfiguration κ mit iω κ existiert. Die von A akzeptierte Sprache ist L(A) := {ω Σ akzeptierende Stoppkonfiguration κ : iω κ}. Definition 1.14 (linear beschränkter Automat) Ein linear-beschränkter Automat A = (Q, Σ, Γ,,,,, i, F) ist eine Turingmaschine (Q, Σ, Γ,,, i, F) mit den folgenden Eigenschaften: (i), Γ \ Σ sind Symbole für den linken bzw. rechten Rand, X X (ii) für Übergänge (p, ) (q, A) und (p, A) (q, ) gilt stets X = R und A =, d.h. der linke Rand ist fest und darf nicht überschritten werden, X X (iii) für Übergänge (p, ) (q, A) und (p, A) (q, ) gilt stets X = L und A =, d.h. der rechte Rand ist fest und darf nicht überschritten werden, und man schreibt A LBA bzw. A DLBA, falls A deterministisch ist. A akzeptiert das Wort ω Σ, wenn eine akzeptierende Stoppkonfiguration κ mit iω κ existiert. Die von A akzeptierte Sprache ist L(A) := {ω Σ akzeptierende Stoppkonfiguration κ : iω κ}. 10

13 1.3 Turingmaschine und linear beschränkter Automat 11

14 1 Automat 12

15 2 Sprache und Grammatik 2.1 Alphabet und Sprache Definition 2.1 (Alphabet) Ein Alphabet Σ ist eine endliche nicht-leere Menge. (i) Ein Symbol σ ist ein Element σ Σ. (ii) Ein Wort ω der Länge ω = n ist ein Vektor ω Σ n. Statt ω = (ω 1,..., ω n ) schreibt man auch einfach ω = ω 1... ω n. Das leere Wort der Länge 0 bezeichnen wir mit ɛ. (iii) Die Konkatenation ist eine Operation : Σ n Σ m Σ n+m (ω 1... ω n, ω 1... ω m) ω 1... ω n ω 1... ω m. Es gilt Σ n+1 = Σ n Σ und Σ 0 = {ɛ}. Statt ω ω schreibt man auch einfach ωω. (iv) Für ein Wort ω = ω p ω i ω s heißt ω p Präfix, ω i Infix und ω s Suffix von ω. (v) Die kleensche Hülle ist Σ = Σ n. n=0 (vi) Die positive Hülle ist Σ + = n=1 Σ n. Definition 2.2 (Sprache) Eine Sprache L über einem Alphabet Σ ist eine Teilmenge L Σ. Es gibt folgende Operationen auf Sprachen: 13

16 2 Sprache und Grammatik (i) Vereinigung L 1 L 2 (ii) Durchschnitt L 1 L 2 (iii) Komplement L := Σ \ L (iv) Differenz L 1 \ L 2 := L 1 L 2 (v) Konkatenation L 1 L 2 := {ω 1 ω 2 ω 1 L 1, ω 2 L 2 } (vi) Potenz L n+1 := L n L mit L 0 := {ɛ} (vii) Kleene-Hülle L := n=0 L n (viii) positive Hülle L + := n=1 L n 14

17 2.2 Grammatik und Chomsky-Hierarchie 2.2 Grammatik und Chomsky-Hierarchie Typ 0 RE TM DTM Typ 1 CS LBA GCS DCS TPDA DLBA KNF DGCS DTPDA ULTRALIN Typ 2 CF PDA CNF GNF METALIN DCF DPDA LIN OPDA DLIN DOPDA LR(k) LR(1) LR(0) LL(k) LL(1) LF(k) LF(1) Typ 3 REG FA DFA LL(0) LF(0) Definition 2.3 (Grammatik) Eine Grammatik G ist ein Quadrupel G = (N, Σ,, S) 15

18 2 Sprache und Grammatik mit den folgenden Eigenschaften: (i) N ist ein Alphabet von Nichtterminalsymbolen, (ii) Σ ist ein Alphabet von Terminalsymbolen, (iii) es gilt N Σ =, (iv) die Menge V := N Σ heißt Vokabular, (v) P ist eine Relation P V NV }{{} =V \Σ V, deren Elemente Produktionsregeln heißen, (vi) S ist ein Nichtterminalsymbol S N und heißt Startsymbol. Für eine Produktionsregel φ ψ heißt φ Prämisse und ψ Konklusion. Für eine Menge von Produktionsregeln φ ψ 1,..., φ ψ n schreibt man abkürzend φ ψ 1... ψ n. Definition 2.4 (erzeugte Sprache) Sei G = (N, Σ,, S) eine Grammatik. (i) Ein Wort ω V heißt ableitbar zu einem Wort ξ V genau dann, wenn µ, ν V (φ ψ) : ω = µφν ξ = µψν. Man schreibt dafür ω ξ. (ii) Wir setzen n+1 := n ; und 0 := V und damit ist := n=0 die reflexiv-transitive Hülle von. n (iii) Die Sprache heißt die von G erzeugte Sprache. L(G) = {ω Σ S ω} (iv) Eine Sprache L heißt Typ-i-Sprache, wenn es eine Typ-i-Grammatik G mit L(G) = L gibt. (v) Zwei Grammatiken G 1 und G 2 heißen äquivalent, wenn L(G 1 ) = L(G 2 ) gilt. 16

19 2.2 Grammatik und Chomsky-Hierarchie Satzgliederungsgrammatik (Typ 0) Definition 2.5 (Typ-0-Grammatik) Jede Grammatik G heißt rekursiv aufzählbar bzw. Typ-0-Grammatik. Man schreibt G RE. Satz 2.6 (rekursiv-aufzählbare Sprache) Eine Sprache L ist genau dann rekursiv-aufzählbar bzw. eine Typ-0-Sprache, wenn eine Turingmaschine A mit L(A) = L existiert. ( ( G L Σ ) ( ) ) : RE: L(G) = L A TM: L(A) = L kontextsensitive Grammatik (Typ 1) Definition 2.7 (kontextsensitive Grammatik) Eine Grammatik G = (N, Σ,, S) heißt kontextsensitiv bzw. Typ-1- Grammatik, falls alle Produktionsregeln von der Form αaβ αωβ mit α, β V, ω V + und A N sind, oder wenn S ψ für alle φ ψ. S ɛ, Definition 2.8 (monotone Grammatik) Eine Grammatik G = (N, Σ,, S) heißt monoton, falls für alle φ ψ gilt. φ ψ Satz 2.9 Eine Grammatik ist genau dann monoton, wenn sie kontextsensitiv ist. Satz 2.10 (kontextsensitive Sprache) Eine Sprache L ist genau dann kontextsensitiv bzw. eine Typ-1-Sprache, wenn eine linear-beschränkte Turingmaschine A mit L(A) = L existiert. ( ( G L Σ ) ( ) ) : CS: L(G) = L A LBA: L(A) = L 17

20 2 Sprache und Grammatik Definition 2.11 (Kuroda-Normalform) Eine Grammatik G heißt in Kuroda-Normalform, falls alle Produktionsregeln eine der folgenden Formen haben: (i) A a (ii) A B (iii) A BC (iv) AB CD Es darf auch die Regel S ɛ verwendet werden, wenn S in keiner Konklusion einer Regel vorkommt. Man schreibt G KNF. Satz 2.12 (i) G KNF = G CS (ii) G CS = G KNF: L(G ) = L(G) kontextfreie Grammatik (Typ 2) Definition 2.13 (kontextfreie Grammatik) Eine Grammatik G = (N, Σ,, S) heißt kontextfrei bzw. Typ-2-Grammatik, falls alle Produktionsregeln von der Form A ω mit ω V und A N sind, d.h. N V. Satz 2.14 (kontextfreie Sprache) Eine Sprache L ist genau dann kontextfrei bzw. eine Typ-2-Sprache, wenn ein Kellerautomat A mit L(A) = L existiert. ( ( G L Σ ) ( ) ) : CF: L(G) = L A PDA: L(A) = L Definition 2.15 (Chomsky-Normalform) Eine Grammatik G heißt in Chomsky-Normalform, falls alle Produktionsregeln eine der folgenden Formen haben: (i) A a (ii) A BC 18

21 2.2 Grammatik und Chomsky-Hierarchie Es darf auch die Regel S ɛ verwendet werden, wenn S in keiner Konklusion einer Regel vorkommt. Man schreibt G CNF. Satz 2.16 (i) G CNF = G CF (ii) G CF = G CNF: L(G ) = L(G) Definition 2.17 (Greibach-Normalform) Eine Grammatik G heißt in Greibach-Normalform, falls alle Produktionsregeln die Form A aα mit α N haben. Es darf auch die Regel S ɛ verwendet werden, wenn S in keiner Konklusion einer Regel vorkommt. Man schreibt G GNF. Satz 2.18 (i) G GNF = G CF (ii) G CF = G GNF: L(G ) = L(G) reguläre Grammatik (Typ 3) Definition 2.19 (reguläre Grammatik) Eine Grammatik G = (N, Σ,, S) heißt linksregulär, falls alle Produktionsregeln von der Form A ω mit A N und ω N Σ Σ {ɛ} sind, d.h. N N Σ Σ {ɛ}. Entsprechend heißt G rechtsregulär, falls N Σ N Σ {ɛ}, und G heißt regulär bzw. Typ-3-Grammatik, falls G linksregulär oder rechtsregulär ist. Definition 2.20 (reguläre Sprache) Sei Σ ein Alphabet. (i) Die Menge Reg(Σ) der regulären Ausdrücke über Σ ist induktiv definiert durch Reg(Σ) ::= ɛ Σ (Reg(Σ) + Reg(Σ)) (Reg(Σ) Reg(Σ)) Reg(Σ). (ii) Jeder reguläre Ausdruck ρ Reg(Σ) definiert eine Sprache L(ρ) 19

22 2 Sprache und Grammatik Σ und diese ist induktiv definiert durch L( ) :=, L(ɛ) := {ɛ}, L(σ) := {σ} L(ρ 1 + ρ 2 ) := L(ρ 1 ) L(ρ 2 ), L(ρ 1 ρ 2 ) := L(ρ 1 ) L(ρ 2 ), L(ρ ) := L(ρ). (iii) Eine Sprache L Σ heißt regulär, wenn es ein ρ Reg(Σ) mit L(ρ) = L gibt. Satz 2.21 Eine Sprache ist genau dann regulär, wenn sie vom Typ 3 ist. ( ( G L Σ ) ( ) ) : REG: L(G) = L ρ Reg(Σ) : L(ρ) = L Satz 2.22 Eine Sprache L ist genau dann regulär bzw. eine Typ-3- Sprache, wenn ein endlicher Automat A mit L(A) = L existiert. ( ( G L Σ ) ( ) ) : REG: L(G) = L A FA: L(A) = L 20

23 3 Kompilation 3.1 Analyse lexikalische Analyse Gegeben sei eine reguläre Grammatik G = (N, Σ,, S), die eine Sprache L := L(G) generiert. Die lexikalische Analyse bezüglich G zerlegt einen Eingabetext T Σ, der zunächst nur als Folge von Symbolen aus Σ vorliegt, in eine Folge von Morphemen bzw. Token aus L. Das kann recht einfach mit einem endlichen Automaten A = (N {E, E }, Σ,, S, {E }) geschehen. Die Zustandsübergangsrelation ist dabei definiert durch A x B : A Bx A x E : A x A ɛ B : A ɛ. Damit ergibt sich die Konfigurationsübergangsrelation zu (A, xα) (B, α) A Bx (A, xα) (E, α) A x (A, α) (E, α) A ɛ. Um nach einem erkannten Morphem mit der Analyse des verbleibenden Textes fortzufahren, wird noch (E, α) (S, α) 21

24 3 Kompilation (E, ɛ) (E, ɛ) gesetzt. Führt man nun A mit der Startkonfiguration (S, T) aus, so entsteht bei einem fehlerfreien Text eine endliche Folge von Konfigurationsübergängen (S, T) (E, T 1 ) (S, T 1 ) (E, T 2 ) (E, T n ) (S, T n ) (E, ɛ) (E, ɛ) und die Wörter ω 0 := T \ T 1, ω 1 := T 1 \ T 2,..., ω n 1 := T n 1 \ T n, ω n := T n bilden die Folge der Morpheme (ω k ) n k=0 des Eingabetextes T syntaktische Analyse Gegeben sei eine kontextfreie Grammatik G = (N, Σ,, S), die eine Sprache L := L(G) generiert. Die semantische Analyse bezüglich G zerlegt einen Eingabetext T Σ, der zunächst nur als Folge von Symbolen aus Σ vorliegt, in einen Syntaxbaum. 22

25 3.1 Analyse Definition 3.1 (Syntaxbaum) Sei G = (N, Σ,, S) eine kontextfreie Grammatik. (i) Ein markierter gerichteter Baum Γ = (V, E, f ) mit dem Wurzelknoten w V, einer Kantenmenge E V V und einer Markierung f : V heißt Syntaxbaum bezüglich G, wenn (i) f (w) = S α, und (ii) jeder Knoten v V mit f (v) = A α 0 A 1 α 1 A 2 α 2... A n α n genau die Subknoten v 1, v 2,..., v n V mit f (v i ) = A i β i hat. (ii) Auf V ist eine lexikalische Ordnung definiert durch v 1 v 2 : (v 1, v 2 ) E v, v, v V : (v, v ) E, (v, v 1 ) E, (v, v ) E, (v, v 2 ) E, f (v) = A α 0 A 1 α 1 A 2 α 2... A n α n, f (v 1 ) = A i β i, f (v 2 ) = A j β j, i < j 23

26 3 Kompilation (iii) Die Präfixlinearisierung von Γ ist definiert durch prelin(γ) := f (w) f (v 0 ) f (v 1 )... f (v k ) für V = {w, v 0, v 1,..., v k } und v i < v j für i < j. (iv) Γ heißt präfixlinearisierter Syntaxbaum von ω L(G), wenn S f (w)... f (v 0)... f (v 1)... f (v k) ω, d.h. falls S prelin(γ) ω gilt. Das kann recht einfach mit einem (vereinfachten) Kellerautomaten A = (N Σ, Σ,, S) geschehen. Die Zustandsübergangsrelation ist dabei definiert durch A ɛ ω : A ω x x ɛ : x Σ. Damit ergibt sich die Konfigurationsübergangsrelation zu (αa, β, γ) (α ω, β, γ(a, ω)) A ω (αx, xβ, γ) (α, β, γ) x Σ und dabei ist γ (N V ) der bisher aufgebaute präfixlinearisierte Syntaxbaum ist. Für ω L gilt (S, ω, ɛ) (ɛ, ɛ, γ) und γ ist der präfixlinearisierte Syntaxbaum von ω. Das entspricht der Top-Down-Analyse, d.h. ausgehend vom Satzsymbol S wird eine Folge von Übergängen zum Wort ω L gesucht. Für die Bottom-Up-Analyse wird ausgehend vom Wort ω eine Folge von Rückwärtsübergängen zum Satzsymbol S gesucht, dafür wird gesetzt Für ω L gilt dann (αω, β, γ) (αa, β, γ(a, ω)) A ω (α, xβ, γ) (αx, β, γ) x Σ. (ɛ, ω, ɛ) (S, ɛ, γ) und γ ist der postfixlinearisierte Syntaxbaum von ω. 24

27 3.1 Analyse Definition 3.2 (rekursiv) Sei G = (N, Σ,, S) eine kontextfreie Grammatik. Dann heißt G (i) direkt rechtsrekursiv in A, falls eine Regel A αa existiert, (ii) direkt linksrekursiv in A, falls eine Regel A Aβ existiert, (iii) direkt rekursiv in A, falls eine Regel A αaβ existiert, (iv) indirekt rechtsrekursiv in A, falls eine Ableitung A αa existiert, (v) indirekt linksrekursiv in A, falls eine Ableitung A Aβ existiert, (vi) indirekt rekursiv in A, falls eine Ableitung A αaβ existiert. Dabei sind A N und α, β V. Lemma 3.3 Zu jeder in einem Nichtterminalsymbol A direkt linksrekursiven Grammatik gibt es eine äquivalente nicht in A direkt linksrekursive Grammatik. Beweis: ist mit Sei G = (N, Σ,, S) eine in A direkt linksrekursive Grammatik. Dann G := (N {A, A }, Σ,, S) := (( \{A Aβ}) \ {A ω A ω}) {A ɛ, A A A } {A ω A Aω} {A ωa A ω, A ω} eine äquivalente Grammatik, die nicht in A direkt linksrekursiv ist. Satz 3.4 Zu jeder in einem Nichtterminalsymbol A indirekt linksrekursiven Grammatik gibt es eine äquivalente nicht in A indirekt linksrekursive Grammatik. Beweis: ist mit Sei G = (N, Σ,, S) eine in A indirekt linksrekursive Grammatik. Dann G := (N, Σ,, S) := ( \{A 0 Aβ 0 A Aβ 0 β, A A 0 β}) {A 0 β β 0 A Aβ 0 β, A A 0 β, A 0 Aβ 0, A β } eine äquivalente Grammatik, die nicht in A indirekt linksrekursiv ist. 25

28 3 Kompilation LF(k)-, LL(k)- und LR(k)-Grammatiken Definition 3.5 (LF(k)-Grammatik) Eine kontextfreie Grammatik G = (N, Σ,, S) heißt LF(k)-Grammatik, falls aus semantische Analyse 3.2 Synthese Codeerzeugung Optimierung 26

29 Index Alphabet, 13 Grammatik, 15 Sprache, 13 27

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit.  Zugangsnummer: 9201 Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

Mehr

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist CF versus CS Theorem CF ist echt in CS enthalten. Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist L = {a m b m c m m 1} nicht kontextfrei. Andererseits ist L kontextsensitiv, wie die Grammatik

Mehr

Formale Grundlagen der Wirtschaftsinformatik

Formale Grundlagen der Wirtschaftsinformatik Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Turingmaschinen und Kontextsensitive Sprachen Eine Turingmaschine besteht

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Carlos Camino Einführung in die Theoretische Informatik SS 2015

Carlos Camino Einführung in die Theoretische Informatik SS 2015 Themenüberblick Dies ist eine Art Checkliste für die Klausurvorbereitung. Zu jedem Thema im Skript sind hier ein paar Leitfragen aufgelistet. Besonders nützlich sind die Tabellen und Abbildungen auf den

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 15.06.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Einführung in die Computerlinguistik Chomskyhierarchie

Einführung in die Computerlinguistik Chomskyhierarchie Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 14. Foliensatz Wiebke Petersen Einführung CL 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist ein 4-Tupel

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Einführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1

Einführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1 Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 1.7.2010 Wiebke Petersen Einführung CL (SoSe 2010) 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist

Mehr

Einführung in die Computerlinguistik Chomskyhierarchie

Einführung in die Computerlinguistik Chomskyhierarchie Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 14. Foliensatz Wiebke Petersen Einführung CL 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist ein 4-Tupel

Mehr

5. Die syntaktische Analyse

5. Die syntaktische Analyse mittels sog. Parser Input: Folge von Token (Symbolen), geliefert vom Scanner/Sieber Aufgabe: Teilfolgen zusammenfassen zu größeren syntaktischen Einheiten Ausdrücke, Anweisungen(-folgen), Deklarationen,

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

Informatik 3 Theoretische Informatik WS 2015/16

Informatik 3 Theoretische Informatik WS 2015/16 2. Probeklausur 22. Januar 2016 Informatik 3 Theoretische Informatik WS 2015/16 Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg Institut für Informatik Name: Matrikel-Nr.: Schreiben Sie Ihren

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

Mehr

Zusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1

Zusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele eorg Moser Michael Schaper Institut für Informatik @ UIBK Wintersemester 2016

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

F2 Zusammenfassung Letzte Tips zur Klausur

F2 Zusammenfassung Letzte Tips zur Klausur F2 Zusammenfassung Letzte Tips zur Klausur Berndt Farwer FB Informatik, Uni HH F2-ommersemester 2001-(10.6.) p.1/15 Funktionen vs. Relationen Funktionen sind eindeutig, Relationen brauchen nicht eindeutig

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken 1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Typ-0-Sprachen und Turingmaschinen

Typ-0-Sprachen und Turingmaschinen Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

Formale Grundlagen der Wirtschaftsinformatik

Formale Grundlagen der Wirtschaftsinformatik Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Sprachen und Grammatiken Teil II Sprache Definition: Ein Alphabet Σ ist

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

Mehr

kontextfreie Sprachen: Normalformen

kontextfreie Sprachen: Normalformen 1 kontextfreie Sprachen: Normalformen Zur Erinnerung: Kontextfreie Sprachen sind diejenigen, die von Grammatiken erzeugt werden, die auf allen linken Regelseiten nur je ein Nichtterminalsymbol haben. Aufgrund

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Grammatik G ist ein Quadrupel

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Turingmaschinen Formale Sprachen und Automaten Das Konzept der Turingmaschine wurde von dem Englischen Mathematiker Alan M. Turing (1912-1954) ersonnen. Turingmaschinen, Typ-0- und Typ-1-Grammatiken Der

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur

Mehr

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4. Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turing: prinzipielle Berechenbarkeit Abschnitt 4.2 Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turingmaschinen: DTM Abschnitt 4.2 DTM = DFA + unbeschränkter

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik . Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie Sprachen werden von PDAs akzeptiert Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

A : z z A : z z : ( z, x, z ) δ

A : z z A : z z : ( z, x, z ) δ Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

FoSAP-Panikzettel. Caspar Zecha, Philipp Schröer, Fabian Meyer, Christoph von Oy, Tobias Polock 5. April Grundlagen 2

FoSAP-Panikzettel. Caspar Zecha, Philipp Schröer, Fabian Meyer, Christoph von Oy, Tobias Polock 5. April Grundlagen 2 FoSAP-Panikzettel Caspar Zecha, Philipp Schröer, Fabian Meyer, Christoph von Oy, Tobias Polock 5. April 2018 Inhaltsverzeichnis 1 Grundlagen 2 2 DFAs 2 2.1 Produktkonstruktion..............................

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Formale Sprachen und Automaten: Tutorium Nr. 8

Formale Sprachen und Automaten: Tutorium Nr. 8 Formale Sprachen und Automaten: Tutorium Nr. 8 15. Juni 2013 Übersicht 1 Nachtrag 2 Besprechung von Übungsblatt 7 Aufgabe 1 Aufgabe 2 Aufgabe 3 3 CFG PDA Definitionen Ein Beispiel! Aufgabe 4 Der PDA als

Mehr

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen (Nicht)Abschlusseigenschaften für Typ 2 FORMALE SYSTEME 15. Vorlesung: Einleitung Kellerautomaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Satz: Wenn L, L 1 und L 2 kontextfreie Sprachen sind,

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Theoretische Informatik I (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. 1.5 Tabellen

Theoretische Informatik I (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. 1.5 Tabellen 1.5 Tabellen Welche Sprachklassen haben wir betrachtet? Und mit welchen Mitteln haben wir sie beschrieben? Zunächst haben wir die vier Chomsky-Klassen eingeführt: Typ-0 bis Typ-3 Grammatiken beschreiben

Mehr

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5. Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen

Mehr

Die oben aufgelisteten Sprachfamilien werden von oben nach unten echt mächtiger, d.h. die Familie der regulären Sprachen ist eine echte Teilfamilie

Die oben aufgelisteten Sprachfamilien werden von oben nach unten echt mächtiger, d.h. die Familie der regulären Sprachen ist eine echte Teilfamilie Zusammenfassung Im Automatenteil der FGI1 Vorlesung haben wir uns mit der Charakterisierung von Sprachfamilien durch immer mächtigere Automatenmodelle und Grammatiken beschäftigt. Folgende Familien haben

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr

Satz (Abschluß unter der Stern-Operation)

Satz (Abschluß unter der Stern-Operation) Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

Mehr

Teil VI. Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke

Teil VI. Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke Teil VI Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke XML anhand von Beispielen... Anwendungen XML 1 / 10 XML-Schema In vielen Anwendungen sollen nur bestimmte XML-Dokumente zugelassen

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 4.3 Eigenschaften von L 0 /L 1 -Sprachen 1. Abschlußeigenschaften 2. Prüfen von Eigenschaften 3. Grenzen der Sprachklassen Sprachklassen Semi-entscheidbare Sprache Sprache,

Mehr