LPalin-Bin & GPalin-Bin
|
|
|
- Heinrich Küchler
- vor 6 Jahren
- Abrufe
Transkript
1 LPalin-Bin & GPalin-Bin G Palin-Bin = (V,S,S,P) mit - V = {S} Variablen - S = S bin Terminalsymbole - Startsymbol S - P = { S -> e, (1) S -> 0, (2) S -> 1, (3) S -> 0S0, (4) S -> 1S1, (5) } L Palin-Bin = { e,0,1,00,11,000,010,101,111,0000,0110,1001,...} FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
2 Sexp,Lexp & Gexp Sexp = {(,),a,+,*} // a steht für bel. Bezeichner oder Zahl (durch RA ausdrücken) Lexp = {a, a+a, a*(a+a), ((((a)))),...} // ( ) vor * vor + nicht berücksichtigt Gexp = ({E},Sexp,E,P) mit P = { E -> a, (1) E -> (E), (2) E -> E + E, (3) E -> E * E (4) } FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
3 Sif,Lif & Gif Sif = {if, else} // nur if und else interessant, Zwischenteile hier nicht Lif = {e, if, ifelse, ififelse, ififelseelse,ifelseifelse,...} Gif = ({S},Sif,S,P) mit P = { S -> e, (1) S -> SS, (2) S -> ifs, (3) S -> ifselse (4) } FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
4 (Keller) PushDown-Automaten PDA Grundlage: Alphabet (endliche Menge) Alph Aufgabe: Überprüfung, ob ein Wort in einer Sprache über Alph liegt Eingabeband { ( a )... Programm Register PushDown Speicher ( { Signal FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
5 Konfiguration eines PDAs ( z, abc, abc# ) Zustand Rest auf Eingabe Kellerinhalt Eingabeband c b a a b c... Programm Register PushDown Speicher... z a b c Signal # Kellerboden FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
6 Programm eines PDAs bei NEA: (z, a, z') Ausgangszustand Eingabesymbol neuer Zustand Lesen Schreiben bei PDA: (z, a, s, z', s1...sn) Pop lese oberstes Kellersymbol und entferne es a kann nix sein Push schreibe n neue Symbole auf Keller FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
7 Erkennung gerader Palindrome = { // 1. Hälfte (Eingabesymbol auf Keller) (z0, 1, #, z0, 1#), (z0, 0, #, z0, 0#), (z0, 1, 0, z0, 10), (z0, 0, 0, z0, 00), (z0, 1, 1, z0, 11), (z0, 0, 1, z0, 01), // Übergang 1. Hälfte -> 2. Hälfte ohne Lesen (z0, nix, #, z1, #), (z0, nix, 0, z1, 0), (z0, nix, 1, z1, 1), } // 2. Hälfte (Vergleich Eingabe und Keller) (z1, 1, 1, z1, e), (z1, 0, 0, z1, e) (z1, nix, #, z1, e) //Stopp FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
8 Konstruktion Typ2-Grammatik -> PDA Sei G = (V,S,S,P) eine beliebige Typ2-Grammatik. Konstruiere PDA M mit L(M) = L(G) wie folgt: M ({ z}, S, V S,, z, S) dabei ist die Vereinigung der beiden folgenden Mengen // 1. Fall: Terminalsymbol auf Stackspitze: {( z, a, a, z, e) a S} // 2. Fall: Variable auf Stackspitze: {( z, nix, A, z, ) A P, A V, ( V S)*} FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
9 MPalin-Bin MPalin-Bin = ({z},sbin,{0,1,s},,z,s) mit = { // 1. Fall: Terminalsymbol auf Stackspitze: (z,0,0,z,e), (0) (z,1,1,z,e), (1) // 2. Fall: Variable auf Stackspitze: (z,nix,s,z,e), (z,nix,s,z,0), (z,nix,s,z,1), (z,nix,s,z,0s0), (R1) (R2) (R3) (R4) (z,nix,s,z,1s1) (R5) } FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
10 LPalin-Bin-Mittel & GPalin-Bin-Mittel Sbin-Mittel = {0,1,$} $ Mittelsymbol LPalin-Bin-Mittel = {$,0$0,1$1,00$00,01$10,10$01,11$11,010$010,...} GPalin-Bin-Mittel = ({S}, Sbin-Mittel,S,P) mit - P = { S -> $, (1) S -> 0S0, (2) S -> 1S1 (3) } S =>(2) 0S0 =>(3) 01S10 =>(2) 010S010 =>(1) 010$010 FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
11 Wiederholung: lexikalische Analyse 1. Phase des Compilers: Scanner zur lexikalischen Analyse Zerlegung des Eingabeprogramms in Tokenfolge Überlesen von Trennsymbolen und Kommentaren Beispiel: ALPHA1 = AL ; (Ide, ALPHA1)(getsym, )(Ide, AL2)(plussym, )(num, 2.7)(semsym, ) FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
12 Syntaxanalyse 2. Phase des Compilers: Parser zur Syntaxanalyse Parser erhält vom Scanner die Tokenfolge, überprüft, ob syntaktisch korrekt und baut Syntaxbaum auf: (Ide, ALPHA1)(getsym, )(Ide, AL2)(plussym, )(num, 2.7)(semsym, ) <Assignment> Ide = <Expression> ; <Expression> + <Expression> Ide num lexikalische Konstrukte für Parser: Terminalsymbole FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
13 Grammatik in YACC-Notation Ass : 'Ide' '=' Exp ';' {...} Exp : 'Ide' {Code: Speicherplatz aus Symboltabelle} 'Num' {Code: Wert der Zahl} Exp '+' Exp {...} ; FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
14 Syntaxdefinition in javacc void assignment(): //pro Variable eine Methode {} //lokale Variablen { //rechte Regelseiten (1) <IDENT> "=" exp() ";" //Token in '<' '>' } void exp(): {} { exp() "+" exp() <NUMBER> <IDENT> } //(2)-(4) mit oder FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
15 HTML-Beispiel HTML-Quelltext: <P> Dinge, die ich <EM>hasse</EM>: </P> <OL> <LI>Verschimmeltes Brot.</LI> <LI>Leute, die zu langsam fahren.</li> </OL> <Tag> angezeigter Text: Dinge, die ich hasse: 1. Verschimmeltes Brot. 2. Leute, die zu langsam fahren. FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
16 HTML-Grammatik (Ausschnitt) Char -> [a-za-z]... Text -> e Char Text... Doc -> e Element Doc... Element -> Text <EM> Doc </EM> <P> Doc </P> <OL> List </OL> ListItem -> <LI> Doc </LI> List -> e ListItem List... FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
17 DTD für PCs <!DOCTYPE PCS [ <!ELEMENT PCS(PC*)> <!ELEMENT PC(MODEL, PRICE, PROC, RAM, DISK+)> <!ELEMENT MODEL(#PCDATA)> <!ELEMENT PRICE(#PCDATA)> <!ELEMENT PROC(MANF, MODEL, SPEED)> <!ELEMENT MANF(#PCDATA)> <!ELEMENT SPEED(#PCDATA)> <!ELEMENT RAM(#PCDATA)> <!ELEMENT DISK(HARDDISK CD DVD)> <!ELEMENT HARDDISK(MANF, MODEL, SIZE)> <!ELEMENT SIZE(#PCDATA)> <!ELEMENT CD(SPEED)> <!ELEMENT DVD(SPEED)> ]> FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
18 gültiges XML-Dokument <PCS> <PC> <MODEL>4560</MODEL> <PRICE>2295</PRICE> <PROC> <MANF>Intel</MANF> <MODEL>Pentium</MODEL> <SPEED>800MHz</SPEED> </PROC> <RAM>256</RAM> <DISK><HARDDISK> <MANF>Maxtor</MANF> <MODEL>Diamond</MODEL> <SIZE>30GB</SIZE> </HARDDISK></DISK> FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
19 gültiges XML-Dokument (Forts.) <PC>... </PC> </PCS> <DISK><CD> <SPEED>32x</SPEED> </CD></DISK> </PC> FH AACHEN UNIVERSITY OF APPLIED SCIENCES TIWS Prof. Dr. H. Faßbender Typ 2-Spr. & PDA 9. Dezember
Lexikalische Analyse, Tokenizer, Scanner
Lexikalische Analyse, Tokenizer, Scanner Frühe Phase des Übersetzers Aufgabenteilung: Scanner (lokale) Zeichen (Symbol-)Analyse Parser Syntax-Analyse Aufgabe des Scanners: Erkennung von: Zahlen, Bezeichner,
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
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
Inhalt Kapitel 11: Formale Syntax und Semantik
Inhalt Kapitel 11: Formale Syntax und Semantik 1 Abstrakte und konkrete Syntax 2 Lexikalische Analyse 3 Formale Sprachen, Grammatiken, BNF 4 Syntaxanalyse konkret 266 Abstrakte und konkrete Syntax Abstrakte
Grammatiken und ANTLR
Grammatiken und ANTLR Zusatzfolien zu Algo Blatt 6 Author: Henry Schaefer http://www.majeeks.de/folien_blatt6.pdf Grammatik Definition: syntaktische Beschreibung einer Sprache (H.S.) Definiton Grammatik
PDA, Übergangsfunktion
Die Übergangsfunktion Was bedeutet das? PDA, Übergangsfunktion haben wir so definiert: : Z ( [{"})!P e (Z ) (z, a, A) ist eine Menge von Paaren der Form (z 0, B 1...B k ). Jedes dieser Paare beschreibt
Lexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
Definition Compiler. Bekannte Compiler
Compiler Inhalt: Definition Compiler / bekannte Compiler Klassifikationen von Compilern Analyse-Synthese-Modell der Kompilierung Analyse des Quellprogramms Synthesephase Die Phasen eines Compilers Symboltabellenverwaltung
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
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
Compiler; Übersetzungsprogramme. Grundlagen der Programmierung 3 A. Compiler für Programmiersprachen. Phasen eines Compilers
ompiler; Übersetzungsprogramme Grundlagen der Programmierung 3 A ompiler A: Phasen; Scanner Prof. Dr. Manfred Schmidt-Schauß Sommersemester 2017 Ein Übersetzer (ompiler) ist ein Programm, das ein Wort
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
Struktur des MicroJava-Compilers
Struktur des MicroJava-Compilers Compiler Parser.mj Scanner Code- Generator.obj Symboltabelle UE zu Übersetzerbau Lexikalische Analyse 1 Grammatik ohne Scanner Expr = Term { "+" Term }. Term = Factor {
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
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
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
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
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,
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Ü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
Compilerbau für die Common Language Run-Time
Compilerbau für die Common Language Run-Time Syntax und Semantik von Programmiersprachen 2 Compilerbau Sprachbeschreibung vs. Implementierung Beschreibung: formale oder informale (engl.) Lexik, Syntax,
Kontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
Anwenundg regulärer Sprachen und endlicher Automaten
Proseminar Theoretische Informatik Dozent: Prof. Helmut Alt Anwenundg regulärer Sprachen und endlicher Automaten Madlen Thaleiser 30. Oktober 2012 Reguläre Sprachen Regulärer Ausdruck definiert über einem
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,δ,
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 15.06.2016 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002
1. Stellen Sie die schrittweise Verbesserung eines Compilers durch das Bootstrap- Verfahren mit Hilfe von T-Diagrammen dar. Gegeben ist ein auf der Maschine M lauffähiger Compiler C 1, der in S geschrieben
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
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
Programmiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation
Teil IV. Kontextfreie Sprachen, Teil 4: Kellerautomaten
Teil IV Kontextfreie prachen, Teil 4: Kellerautomaten Kellerautomaten (Idee) Ziel Automatenmodell für CFL Kontextfreie prachen Kellerautomaten 1 / 13 Kellerautomaten (Idee) Ziel Automatenmodell für CFL
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.
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 18.06.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
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
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
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann
Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie
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
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 10.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
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
Lex und Yacc Lt. Worf, scannen Sie das Schiff! 300dpi, Sir?
Lex und Yacc Lt. Worf, scannen Sie das Schiff! 300dpi, Sir? Hagen Paul Pfeifer [email protected] 29. April 2004 Lex und Yacc Überblick Einführung Lex und Yacc 1 Überblick Einführung Beispiele Lex und Yacc
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten.
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Formale Sprachen. Inhaltsverzeichnis. M. Jakob. 10. Dezember Allgemeine Einführung. Aufbau formaler Sprachen
M. Jakob Gymnasium Pegnitz 10. Dezember 2014 Inhaltsverzeichnis Allgemeine Einführung Aufbau formaler Sprachen Notationsformen formaler Sprachen Backus-Naur-Formen Erkennen formaler Sprachen Implementierung
Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat
Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann [email protected] 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat
Theoretische Informatik I
Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken
Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45
Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten
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
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
Pumping-Lemma 2 Pumping-Lemma Sei L eine von einem endlichen Automaten erkannte Sprache. Dann existiert eine natürliche Zahl p N derart, dass jedes Wo
1 Endliche Automaten Modellierungskonzept mit vielen brauchbaren Eigenschaften schnelle Spracherkennung graphisch-visuelle Beschreibung automatische Korrektheitsbeweise gute Kompositionalitätseigenschaften
Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48
Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 48 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs rekursiv definierten baumartigen
3.1 Reservierte Wörter
3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der
Theoretische Informatik I
Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in
Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen
Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen 1. Was ist eine formale Sprache? Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind. Zeichenkette:
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
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
3 Syntax von Programmiersprachen
3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme
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 [email protected] Wir haben mittlerweile einiges
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,
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
Compilerbau. Bachelor-Programm. im SoSe Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage.
Bachelor-Programm Compilerbau im SoSe 2014 Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage [email protected] J.Fischer 8.1 Position Kapitel 1 Compilationsprozess Teil
7. Syntax: Grammatiken, EBNF
7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik
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
Syntaxanalyse Ausgangspunkt und Ziel
Syntaxanalyse Ausgangspunkt und Ziel Ausgangspunkt: Kontextfreie Grammatik Im Normalfall BNF, manchmal EBNF BNF = Backus-Naur-Form = Produktionsregeln EBNF = erweiterte BNF (+ reguläre Ausdrücke) Prüfung
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
Ein Fragment von Pascal
Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und
Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen
Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,
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
Grundlagen der Informatik II
Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s
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
Induktive Definition
Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}
Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im
Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).
1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache
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
Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie
Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung
