Bottom-up-Syntaxanalyse

Größe: px
Ab Seite anzeigen:

Download "Bottom-up-Syntaxanalyse"

Transkript

1 Bottom-up-Syntaxanalyse Lernziele: Einführung in die bu-syntaxanalyse LR(k)-Analyseverfahren Auflösung von Konflikten bei der Parsergenerierung Zusammenhang: KFGs und Kellerautomaten Einführung: Bottom-up-Analyseverfahren sind von großem praktischen Interesse, da sie mächtiger als td-verfahren sind. Grund: Die Produktionsauswahl erfolgt erst am Ende möglicher Produktionen, während sie bei td-verfahren im Allg. am Anfang erfolgt. Beim LR steht das L für die Leserichtung von links nach rechts, das R dafür, dass Rechtsableitungen gesucht werden. 77

2 Grundlegende Idee von LR-Verfahren: 1. Reduziere vom Satz zum Axiom 2. Dabei entstehen Satzformen mit Anfängen aus (N U T)* und einem Eingaberest aus T*, wobei die Anfänge Präfixe von Rechtssatzformen der Grammatik sein müssen. Solche Präfixe nennt man zuverlässige Präfixe (viable prefixes). 3. Reduktionen werden immer soweit links wie möglich ausgeführt. Die unter 2. genannte Eigenschaft gilt offensichtlich am Anfang der Reduktion (wenn die Eingabe ein Satz ist) und muss invariant bleiben, um Sackgassen zu vermeiden. Definition: (zuverlässiger Präfix) Sei S =>* βau => βαu eine Rechtsableitung zu Γ. rm rm Dann heißt α der Griff/Handle/Redex (auch die Reduktionsstelle) der Rechtssatzform βαu. Jedes Präfix von βα heißt ein zuverlässiges Präfix von Γ. 78

3 Satz: Die Sprache der zuverlässigen Präfixe einer Grammatik Γ ist regulär. Beweis: Siehe WM Satz und Korallar (S. 361,362). Wesentliche Schritte des Beweises im Folgenden durch Konstruktion des LR-DEA(Γ) illustriert. Beispiele: (Hinführung zu LR-Parsen) 1. Γ : S acd, C b, D a b Analyse von aba (siehe Vorlesung) kann in Sackgasse führen! Verfolgen der zuverlässigen Präfixe kann Sackgassen vermeiden. 2. Γ : S E #, E a ( E ) E E Analyse von ( ( a ) ) ( a ) # (siehe Vorlesung) Kellermechanismus kann gelesene Präfixteile verwalten. 3. Γ5 : S E #, E E + T T, T Analyse von + + # : (siehe Vorlesung) 79

4 Schematischer Syntaxbaum zur Eingabe xay mit a in T, x,y in T* und Startsymbol S: α x a y Lesezeiger Schiebe Schritt (shift): Reduktionsschritt (reduce): αa βα => α = βγ x a y Lesezeiger x a y Lesezeiger 80

5 Hauptprobleme bei LR: 1. Nur Reduktionen durchführen, so dass der entstehende Präfix zuverlässig bleibt. 2. Wann schieben, wann reduzieren, mit welcher Produktion reduzieren? Lösungsansatz: Zu jeder Grammatik Γ gibt es einen endlichen Automaten, den sogenannten LR-DEA(Γ), oft auch als LR(0)-Automat bezeichnet, der die zuverlässigen Präfixe beschreibt. Konstruktion von LR-DEA: Sei Γ = ( N, T, Π, S ) eine kf. Grammatik. Konstruiere zu jedem Nichtterminal den Item-Automaten (siehe ) Die Item-Automaten werden vereinigt. Startzustand des vereinigten Automaten ist der Startzustand des Item-Automaten für S. Endzustände sind die Endzustände der Item-Automaten. Füge ε-kanten ein von jedem Zustand, in dem der Positionspunkt vor einem Nichtterminal A steht, zu dem Startzustand des Item-Automaten von A. Wenn man alle Zustände der LR-DEA als Endzustände betrachtet, erhält man einen Automaten, der die Menge der zuverlässigen Präfixe beschreibt. 81

6 Beispiel: (Konstruktion eines LR-DEA) Konstruktion des LR-DEA für Γ5 : S E #, E E + T T, T E # [S.E #] [S E.# ] [S E#.] ε [E.E+T] [E.T ] ε ε E + T [E E.+T] [E E+.T] T [E T.] ε [E E+T.] [T. ] [T.] Deterministisch machen liefert folgenden Automaten: 82

7 q0 [S.E #] [E.E+T] [E.T ] [T. ] T q1 E [S E.# ] # [E E.+T] + Fehler q7 q5 [E T.] [T.] q6 q2 [S E#.] q3 [E E+.T] [T. ] T [E E+T.] q4 bezeichnet Fehlerkanten Die zuverlässigen Präfixe maximaler Länge: E#, T,, E+, E+T Bemerkungen: Im Beispiel enthält jeder Endzustand genau eine vollständig gelesene Produktion. Dies ist im Allg. nicht so. Enthält ein Endzustand mehrere vollständig gelesene Produktionen spricht man von einem reduce/reduce- Konflikt. Enthält ein Endzustand eine vollständig gelesene und eine unvollständig gelesene Produktion mit einem Terminal nach dem Positionspunkt, spricht man von einem shift/reduce-konflikt. 83

8 Beispiel: (Analyse mit LR-DEA) Analyse von + + # mit dem LR-DEA, unterstrichen ist jeweils der zuverlässige Präfix: Beachte: + + # <= T + + # <= E + + # <= E + T + # <= E + # <= E + T # <= E # <= Die Satzformen bestehen immer aus einem zuverlässigen Präfix und der Resteingabe. Verwendet man nur den LR-DEA zur Analyse muss man nach jeder Reduktion die Satzform von Anfang an lesen. deshalb: verwende Kellerautomaten zur Analyse S 84

9 Definition: (LR-Kellerautomat) Sei Γ = ( N, T, Π, S ) eine KFG; der LR-DEA- Kellerautomat zu Γ hat die folgenden Bestandteile: eine endliche Menge Q von Zuständen entsprechend den Zuständen des LR-DEA(Γ); eine Menge von Aktionen AKT = { schieben, akzeptieren, fehler} U red(π), wobei red(π) für jede Produktion A->α eine Aktion reduziere A->α enthält; eine Aktionstabelle at: Q eine Nachfolgertabelle nt: P x (NUT) P = { q in Q at(q) = schieben } AKT (action table) Q mit Bemerkungen: Der LR-DEA-Kellerautomat ist eine Kellerautomatenvariante speziell fürs LR-Parsen. Die Zustände codieren den gelesenen Linkskontext. Sofern keine Konflikte vorliegen, ergibt sich die Aktionstabelle direkt aus dem LR-DEA: akzeptieren: Endzustand zum Item-Automaten des Startsymbols. reduzieren: die anderen Endzustände fehler: Fehlerzustand schieben: alle anderen Zustände 85

10 Ausführen des Kellerautomaten: Konfiguration: Q* x T* wobei im Folgenden die Variable keller die Zustandsfolge und die Variable egr den Eingaberest bezeichnet; Anfangskonfiguration: ( q0, eingabe ), wobei q0 der Startzustand des LR-DEA ist. Interpretationsprozedur des Kellerautomaten: } (keller,egr) := (q0,eingabe) ; do { schritt( keller, egr ); } while( at(top(keller))!= akzeptieren and at(top(keller))!= fehler ); if ( at(top(keller))==fehler ) melde fehler; wobei void schritt( var ZustandSeq keller, var SymbolSeq egr ){ Zustand tk := top(keller); switch( at(tk) ) { case schieben: keller:= push( nt(tk,top(egr)), keller ) egr := rest(egr); break; case reduziere A a: keller:= mpop(laenge(a), keller); keller:= push(nt(top(keller),a),keller); break; } 86

11 Beispiel: (LR-Kellerautomat zu Γ5 ) LR-DEA mit Zuständen q0 q7 (siehe Beipiel oben) Aktionstabelle: q0 q1 q2 q3 q4 q5 q6 q7 schieben schieben akzeptieren schieben reduzieren E E+T reduzieren E T reduzieren T fehler Nachfolgertabelle: + # E T q0 q6 q7 q7 q1 q5 q1 q7 q3 q2 q7 q7 q2 q3 q6 q7 q7 q7 q4 q4 q5 q6 q7 Rechnung zu Eingabe + + # : Keller Eingaberest Aktion q0 q0 q6 q0 q5 q0 q1 q0 q1 q3 q0 q1 q3 q6 q0 q1 q3 q4 q0 q1 q0 q1 q3 q0 q1 q3 q6 q0 q1 q3 q4 q0 q1 q0 q1 q2 + + # schieben + + # reduzieren T + + # reduzieren E T + + # schieben + # schieben + # reduzieren T + # reduzieren E E+T + # schieben # schieben # reduzieren T # reduzieren E E+T # schieben akzeptieren 87

12 Fragen: Funktioniert die obige Konstruktion für alle eindeutigen Grammatiken? Für welche Grammatiken funktioniert sie? Wie kann man sie verallgemeinern/mächtiger machen? Beispiel: LR-DEA für Γ6 : S E #, E T+E T, T N( ), N q0 q1 q2 # q3 [S E.# ] [S E#.] [E T+E.] E [S.E #] [E.T+E] [E.T ] [T. ] [T.N( ) ] [N. ] N T [E T.+E] [E T. ] [T [N.].] q4 q6 + T N E q5 [E T+.E] [E.T+E] [E.T ] [T. ] [T.N( ) ] [N. ] q10 Fehler q7 [ T N(.) ] ( ) q8 q9 [ T N.( ) ] [ T N( ). ] bezeichnet Fehlerkanten 88

13 Bemerkung: Zwei Arten von Konflikten: Shift/reduce-Konflikt Reduce/reduce-Konflikt ( q4 im obigen Beispiel) ( q6 im obigen Beispiel) Grundbegriffe der LR-Theorie: Definition: ( LR(k)-Grammatik ) Sei Γ = ( N, T, Π, S ) eine kf. Grammatik, k in N. Γ heißt LR(k)-Grammatik, wenn für zwei beliebige Rechtsableitungen gilt: S =>* α Au => αβu rm S =>* rm γ Bv => αβw Ist präfix(k,u) = präfix(k,w), dann ist α = γ, A = B und v = w. Bemerkungen: rm rm Während bei LL-Grammatiken die Produktionsauswahl vom Sprachschatz des abzuleitenden Nichtterminals abhängt, hängt sie bei LR-Grammatiken von dem gesamten Linkskontext ab. Die Vorausschau erstreckt sich bei LL-Grammatiken auf den aus einem Nichtterminal zu erzeugenden Sprachschatz, bei LR-Grammatiken auf den Sprachschatz noch nicht gesehener Nichtterminale. 89

14 Satz: (Charakterisierung LR(0) ) Eine reduzierte KFG Γ ist genau dann LR(0), wenn LR-DEA(Γ) keine Konflikte enthält. Beweis: Siehe Vorlesung und Arbeitsblatt 1. Beispiel: (Anwendung LR(0)-Charakterisierung) Zeige mit obigem Lemma, dass die Grammatik S A B, A aab 0, B abbb 1 LR(0) ist (siehe Vorlesung). Bemerkungen: (zur Mächtigkeit von LR(k) ) Für jede kontextfreie Sprache L mit der Präfixeigenschaft ( v,w in L: v ist nicht Präfix von w ) gibt es eine LR(0)-Grammatik. Die Grammatik S A B, A aab 0, B abbb 1 ist nicht LL(k) (siehe oben), aber LR(0). Methoden und Vorgehensweisen, die wir hier für LR(1) demonstrieren, lassen sich in geeigneter Form auf den Fall LR(k) bzw. SLR(k) bzw. LALR(k) verallgemeinern. 90

15 Auflösen von Konflikten: Idee: <k Berechne Vorausschaumengen aus (NUT) für die Items. Dafür gibt es unterschiedliche Verfahren (s.u.). Die Vorausschaumenge zu einem Item in einem Zustand approximiert die Menge der möglichen Präfixe mit Länge k, mit denen der Eingaberest bei diesem Item beginnen kann. Sind die Vorausschaumengen für Items, die zu Konflikten führen, disjunkt, so kann die auszuführende Aktion (schieben/reduzieren) durch Vorausschau von k Symbolen bestimmt werden: Wähle die Aktion zu dem Item aus, in dessen Vorausschaumenge der Präfix des Eingaberestes liegt. Dementsprechend muss die Aktionstabelle erweitert werden. Verbreitete Verfahren: SLR(k) benutzt LR-DEA und verwendet FOLLOWk der konfligierenden Items als Vorausschaumengen. LALR(k) lookahead LR benutzt LR-DEA, aber mit zustandsabhängigen Vorausschaumengen. LR(k) integriert die Berechnung der Vorausschaumengen mit der Automatenkonstruktion (LR(k)-Automat). 91

16 Definition: ( SLR(1)-Grammatik ) Sei Γ= ( N, T, Π, S ) eine kf. Grammatik und LA( [A α.] ) = FOLLOW1(A). Ein Zustand von LR-DEA(Γ) besitzt einen SLR(1)-Konflikt, wenn es in ihm entweder zwei unterschiedliche reduce-items gibt mit LA( [A α.] ) LA( [B β.] ) = / { } oder zwei Items [A α.] und [B α.aβ] mit a in LA( [A α.] ). Γ heißt SLR(1), wenn es keinen SLR(1)-Konflikt besitzt. U Beispiel: Γ6 : S E #, E T+ E T, T N( ), N ist eine SLR(1)-Grammatik. Zu betrachten sind die Konflikte zwischen [E T. ] und [E T.+E] bzw. zwischen [T.] und [N.]. FOLLOW1(E) { + } = { # } { + } = { } U FOLLOW1(T) FOLLOW1(N) = { #,+ } { ( } = { } U U U 92

17 Beispiel: (nicht SLR(1)-Sprache) Betrachte folgende Grammatik für vereinfachte C-Ausdrücke: Γ7 : S E #, E L = R R, L *R, R L Der zugehörige LR-DEA: [E R.] R [S.E# ] [E.L=R] [E.R] [L.*R] [L.] [R.L] L [E L.=R] [R L.] [S E.# ] # [S E#. ] E [L *.R] R [R.L] * [L.*R] [L.] * L = [L.] [E L=.R] [R.L] [L.*R] [L.] [R L.] L R [L *R.] [E L=R.] * Der einzige Zustand mit einem Konflikt enthält die Items [E L.=R] und [R L.] mit FOLLOW1(R) { = } = { =, # } { = } = { =} = / { } U U 93

18 Konstruktion von LR(1)-Automaten: Items der Form [ A α.β, V ] mit V T und der Bedeutung, dass α auf dem Keller liegt und der Anfang des Eingaberests aus βc ableitbar ist mit c in V. D.h. V FOLLOW1(A). U U S E#. S E.# E S.E# E.L=R # E.R # L.*R #,= L. #,= R.L # * # L *.R #,= R.L #,= L.*R #,= L. #,= L R L R E L.=R # R L. # E R. # R L. # L. #,= L. # R L. #,= L *R. #,= = L L E L=.R # R.L # L.*R # L. # R E L=R. # * * L *.R # R.L # L.*R # L. # R L *R. # * Konflikt kann behoben werden, da {=} {#} = {} U 94

19 LALR(1)-Automaten: Aus dem LR(1)-Automaten erhält man den LALR(1)- Automaten durch Zusammenlegen der Zustände, in denen sich die Items nur in der Vorausschaumenge unterscheiden. Die Vorausschaumengen zu gleichen Items werden dabei vereinigt. Der resultierende Automat hat die gleichen Zustände wie der LR-DEA.. q8 q4 S E#. E L.=R # = E L=.R # R L. # R.L # q3 # L L.*R # S E.# q5 L. # E R. # q0 E R q9 R S.E# E L=R. # E.L=R # E.R # q1 L.*R #,= L. #,= L L. #,= R.L # q2 * L *.R #,= R.L #,= L.*R #,= L. #,= L R q6 R L. #,= q7 L *R. #,= * * Der LALR(1)-Automat lässt sich allerdings effizienter direkt konstruieren. 95

20 Lesen Sie zu Unterabschnitt : Wilhelm, Maurer: aus Kap. 8, Abschnitt bis einschl , S Zusammenhang der Grammatikklassen: eindeutige Grammatiken LL(k) LL(1) LR(k) LR(1) LALR(1) SLR(1) LL(0) LR(0) mehrdeutige Grammatiken 96

Compilerbau Syntaxanalyse 68. LR(1)-Syntaxanalyse

Compilerbau Syntaxanalyse 68. LR(1)-Syntaxanalyse Compilerbau Syntaxanalyse 68 LR(1)-Syntaxanalyse Bei der LL(1)-Syntaxanalyse wird allein aufgrund des nächsten Tokens die zu verwendende Produktion ermittelt. Bei der LR(1)-Syntaxanalyse braucht diese

Mehr

LR Parsing. Prinzip: Entwicklung des Parsebaums bottom up, von links nach rechts (Abb. 2.52)

LR Parsing. Prinzip: Entwicklung des Parsebaums bottom up, von links nach rechts (Abb. 2.52) LR Parsing Prinzip: Entwicklung des Parsebaums bottom up, von links nach rechts (Abb. 2.52) Parserkonfiguration: s 0 X 1 s 1... X m s m, t i t i 1... t n 1.Stack: enthält abwechselnd Zustand sk und Grammatiksymbol

Mehr

5. Syntaxanalyse und der Parser-Generator yacc. 5.5 Aufsteigende Analyse. Absteigende Analyse versus aufsteigende Analyse. 5.5 Aufsteigende Analyse

5. Syntaxanalyse und der Parser-Generator yacc. 5.5 Aufsteigende Analyse. Absteigende Analyse versus aufsteigende Analyse. 5.5 Aufsteigende Analyse 5. Syntaxanalyse und der Parser-Generator yacc 5.1 Einleitung 5.2 Kontextfreie Grammatiken 5.3 Grundlagen von yacc 5.4 Absteigende Analyse Übersetzergenerierung Syntaxanalyse und yacc (2) Jan Bredereke,

Mehr

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 LR-Parsing Präsentation vom 19. Dez. 2012 Adriana Kosior, Sandra Pyka & Michael Weidauer Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 Inhalte Einleitung LR(0) Parser LR(1) Parser Fazit Literatur

Mehr

Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion

Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion Historie Die ersten Compiler entstanden in den 50ern.

Mehr

Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion

Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion Historie Die ersten Compiler entstanden in den 50ern.

Mehr

Bottom-Up Analyse. im Einzelnen

Bottom-Up Analyse. im Einzelnen Bottom-Up Analyse im Einzelnen ... mit Backtracking Wir können den Kellerautomaten zum Satz L(KFG)->L (N1KA) erweitern: Wir nummerieren die Produktionen. ... mit Backtracking Der Automat nimmt dann immer

Mehr

Konstruieren der SLR Parsing Tabelle

Konstruieren der SLR Parsing Tabelle Konstruieren der SLR Parsing Tabelle Kontextfreie Grammatik (CFG) Notation 1. Diese Symbole sind Terminals: (a) Kleinbuchstaben vom Anfang des Alphabets wie a, b, c. (b) Operator Symbole wie +,, usw. (c)

Mehr

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4)

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4) Kellerautomat (1/4) Kellerautomat (2/4) Kontextfreie Grammatiken können von Kellerautomaten (Push Down Automata, PDA) erkannt werden PDAs sind eine Erweiterung der endlichen Automaten um ein einfaches

Mehr

Einführung - Parser. Was ist ein Parser?

Einführung - Parser. Was ist ein Parser? Gliederung 1. Einleitung 1.1 Was ist ein Parser? 1.2 Was ist ein tabellengesteuerter TD-Parser? 1. Tabellengesteuerter TD-Parser 2.1 Funktionsweise 2.2 Darstellung als Pseudocode 2.3 Konstruktion von prädiktiven

Mehr

Algorithmus: // Zähler für jede Regel. // Initialisierung. // Initialisierung von rhs } // 2 N result = ; // Ergebnis-Menge int count[p];

Algorithmus: // Zähler für jede Regel. // Initialisierung. // Initialisierung von rhs } // 2 N result = ; // Ergebnis-Menge int count[p]; Algorithmus: 2 N result = ; // Ergebnis-Menge int count[p]; // Zähler für jede Regel 2 P rhs[n]; // VorkommeninrechtenSeiten forall (A N) rhs[a] = ; // Initialisierung forall ((A,i) P) { // count[(a,i)]

Mehr

(KFG und) Kellerautomaten

(KFG und) Kellerautomaten (KFG und) Kellerautomaten (KFG und...) Auch für die Sprachen, die durch kontextfreie Grammatiken beschrieben werden, gibt es Automaten, die genau diese Sprachklasse akzeptieren. Das sind Automaten mit

Mehr

LR-Parser, Shift-Reduce-Verfahren

LR-Parser, Shift-Reduce-Verfahren LR-Parser, Shift-Reduce-Verfahren Bottom-Up-Syntaxanalyse LR-Parser L: Eingabe von links nach rechts; R: Rechtsherleitung Shift-Reduce-Verfahren Beachte: Kein Backtracking nicht auf jede Grammatik anwendbar

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

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Name: Matr.-Nr.: Vorname: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 7 10 6 8 7 9 err. Punkte Gesamtpunktzahl: Note: Aufgabe

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

Kapitel 5: Syntax-Analyse

Kapitel 5: Syntax-Analyse Kapitel 5: Syntax-Analyse Aufgabe Die Token-Folge wird strukturiert in Anweisungen, Ausdrücke etc., um die Semantische Analyse und Code-Erzeugung zu ermöglichen Themen Kontextfreie Grammatik Äquivalente

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

Definition von LR(k)-Grammatiken

Definition von LR(k)-Grammatiken Definition von LR(k)-Grammatiken Ziel: Ein Lookahead von k soll ausreichen um entscheiden zu können, welche Regel angewendet werden muss. Definition: FIRST k (w 1 w n ):= w 1 w k, falls n k, w 1 w n, sonst.

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

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

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L Kapitel 3 Kontextfreie Sprachen Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: s. Übung ε L (w) L, falls w L vw L, falls v, w L (R0) (R1) (R2) Für beliebige w {(, )} kann w L

Mehr

LL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt)

LL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt) LL(k)-Analyse Eine KFG G = (N,T,P,S) heisst LL(k)-Grammatik, wenn für alle w,x,y T*, α,β,σ (N U T)* und A N mit 1. S =l>* waσ =l> wασ =l>* wx, 2. S =l>* waσ = > wβσ =l>* wy, 3. start k (x) = start k (y)

Mehr

Die Vorausschau-Tabelle:

Die Vorausschau-Tabelle: A 0 i 0 A 1 i 1 β 1 A 2 i 2 β 2 B i β γ Die Vorausschau-Tabelle: Wir setzen M[ [A α Bβ, L], w] = i genau dann wenn (B, i) die Regel B γ ist und: w First k (γ) First k (β) L 440 ([A 0 α 1 A 1 β 1, L 1 ],

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät [email protected] Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

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

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

LR(1) Itemmengenkonstruktion

LR(1) Itemmengenkonstruktion LR(1) Itemmengenkonstruktion Grammatik: S A$ xb A aab B B x Sprache: {xb} {anxbn n 0} nicht LL(1) x FIRST(B) x FIRST(A) also: FIRST/FIRST Konflikt bei S A$ xb nicht SLR(1) (Abb. 2.96) betrachte Item B

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

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

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

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

Mehr

2.6 Deterministisches Top-Down-Parsen

2.6 Deterministisches Top-Down-Parsen 48 2.6 Deterministisches Top-Down-Parsen Als nächstes wollen wir uns mit Methoden zur syntaktischen Analyse befassen. Der lexikale canner eines Compilers liest die Eingabe Zeichen für Zeichen und erzeugt

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

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

6 Kontextfreie Grammatiken

6 Kontextfreie Grammatiken 6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,

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

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

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

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

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

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS

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

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel

Mehr

Automaten und Formale Sprachen 14. Vorlesung

Automaten und Formale Sprachen 14. Vorlesung Automaten und Formale Sprachen 14. Vorlesung Martin Dietzfelbinger 24. Januar 2006 Bis 31. Januar 2006: Folien studieren. Details und Beispiele im Skript, Seiten 174 196. Definitionen lernen, Beispiele

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

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

Mehr

Das Postsche Korrespondenzproblem

Das Postsche Korrespondenzproblem Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w

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

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 14.05.2013 Analog zu Linksableitungen definiert man Definition 2.45 Ein Ableitungsschritt

Mehr

Von der Grammatik zum AST

Von der Grammatik zum AST Von der Grammatik zum AST Welche Eigenschaften soll ein Parser haben? Wann ist eine Grammatik eindeutig? Wie sollte eine Grammatik aussehen? Theoretischer Hin tergrund: FIRST, FOLLOW Einschränkungen von

Mehr

Deterministische endliche Automaten - Wiederholung

Deterministische endliche Automaten - Wiederholung Deterministische endliche Automaten - Wiederholung Die folgende Klasse Zahl stellt einen endlichen Automaten dar. Ermittle die Größen des Automaten und zeichne den Zustandsgraphen. Gib Zeichenfolgen an,

Mehr

2. Kapitel: Syntax- und Typanalyse

2. Kapitel: Syntax- und Typanalyse 2. Kapitel: Syntax- und Typanalyse Lernziele: Aufgaben der verschiedenen Syntaxanalysephasen Zusammenwirken der Syntaxanalysephasen Spezifikationstechniken für Syntaxanalyse Generierungstechniken Anwendung

Mehr

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:

Mehr

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

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

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

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

9.4 Grundlagen des Compilerbaus

9.4 Grundlagen des Compilerbaus Kap09.fm Seite 717 Dienstag, 7. September 2010 2:06 14 9.4 Grundlagen des Compilerbaus 717 so dass die Benutzung dieser Regeln zum Aufbau eines + -Knotens bzw. eines Negations- Knotens im abstrakten Syntaxbaum

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

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken [email protected] Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Fachseminar Compilerbau

Fachseminar Compilerbau Fachseminar Compilerbau WS 08/09 Matthias Schiller Syntaktische Analyse 1. Prinzip der Top-Down-Analyse 2. LL(1)-Grammatiken Modell-Vorstellung Der Scanner liefert als Ergebnis der lexikalischen Analyse,

Mehr

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann [email protected] Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner [email protected] Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Einführung in die Theoretische Informatik

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

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr