Übersetzungstechnik. Francesco Kriegel. TU Dresden Fakultät Mathematik Institut Algebra WS 2008 / 2009
|
|
- Lilli Thomas
- vor 7 Jahren
- Abrufe
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 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
MehrKontextfreie 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
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrAutomaten 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
Mehr8. 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
MehrDeterministischer 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,δ,
MehrInformatik 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.
MehrWS06/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.
MehrTeil 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 ),
MehrADS-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
Mehr10 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
Mehr11.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
MehrTheoretische 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
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
MehrDefinition 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
MehrFormale 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
MehrBeweis: 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
MehrFormale 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
MehrDefinition 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
Mehr4.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
MehrRekursiv 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
MehrCarlos 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
MehrTheorie 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)
MehrDas 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.
MehrTheoretische 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
MehrTheoretische 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
MehrTheoretische 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
MehrGrundlagen 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
MehrFormale 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
MehrEinfü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
MehrKapitel: 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
MehrEinfü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
MehrEinfü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
Mehr5. 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,
MehrSei Σ 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
MehrDeterministische 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
MehrInformatik 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
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
MehrTyp-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.
MehrZusammenfassung. 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
MehrTheoretische 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
MehrF2 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
MehrEndliche 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:
MehrOgden 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
MehrTyp-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
MehrTheoretische 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
MehrFormale 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
MehrKurz-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 ε
MehrAkzeptierende 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
MehrTheoretische 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
MehrProseminar 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
Mehrkontextfreie 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
MehrDisMod-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
Mehr2.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
MehrEinfü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
MehrEinfü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
MehrFormale 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
MehrEinfü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
Mehr3. 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
MehrWorterkennung 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
MehrFormale 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
MehrTuring: 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
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
Mehr1 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
MehrAutomatentheorie 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
Mehr1. Ü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
MehrFORMALE 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
MehrEinfü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
MehrGrammatiken. 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 /
MehrGrundlagen 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
MehrKontextfreie 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
MehrGrundlagen 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
MehrA : 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,
Mehr2.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
MehrFoSAP-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..............................
Mehrkontextfreie 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
MehrFormale 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
(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,
MehrSprachen/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:
MehrAlphabet, 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
MehrTheoretische 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
MehrFormale 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
MehrDie 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
MehrEinfü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
Mehr5.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
MehrGrundlagen 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
MehrRegulä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
MehrBerechenbarkeit 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
MehrGrundlagen 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
MehrGrundlagen 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
MehrAufgabe 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
MehrSatz (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
MehrAutomaten 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
MehrGrundlagen 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
MehrTeil 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
MehrTheoretische 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