Patrick Simianer Visualisierung regulärer Ausdrücke
|
|
|
- Berndt Brinkerhoff
- vor 10 Jahren
- Abrufe
Transkript
1 Patrick Simianer Visualisierung regulärer Ausdrücke Patrick Simianer Endliche Automaten HS bei Dr. Karin Haenelt Universitiät Heidelberg im Sommersemester 2010
2 1 Einleitung Überlegungen Protoypisches Vorgehen Konkreter Aufbau Gliederung 2 Einfaches Parsing regulärer Ausdrücke Recursive Descent-Methode Konstruktion nach Thompson Beispiel 3 Überführung NDEA zu einem DEA -Abschluss Beispiel 4 Demo 5 Weiterentwicklung
3 1 Einleitung Überlegungen Protoypisches Vorgehen Konkreter Aufbau 2 Einfaches Parsing regulärer Ausdrücke Recursive Descent-Methode Konstruktion nach Thompson Beispiel 3 Überführung NDEA zu einem DEA -Abschluss Beispiel 4 Demo 5 Weiterentwicklung 3 / 24
4 Visualisierung regulärer Ausdrücke Wie soll die Visualisierung aussehen? 1 Hervorheben von Matches oder Gruppen in einem String oder Text 2 Darstellung und Simulation anhand eines Automaten 1 Es existieren bereits viele Implementierungen, basierend auf RE-Implementierung der jeweiligen Sprache. Keine step by step -Visualisierung möglich 2 Grafische Umsetzung schwierig, eigene RE-Implementierung nötig Jeder Schritt der Erkennung nachvollziehbar 4 / 24
5 Visualisierung regulärer Ausdrücke /2 1 Wie können reguläre Ausdrücke möglichst einfach und effizient implementiert werden? Herkömmliche backtracking-methode (Perl, PCRE) Direkte Konstruktion eines endlichen Automaten 2 Soll der Automat dargestellt werden und wenn ja, wie? Ja, im besten Fall mit Animationen... 3 In welcher Umgebung können alle Teile (1. Parser, 2. GUI, 3. Visualisierung) gut implementiert werden? Im Browser (1. JavaScript, 2. HTML, 3. SVG) 5 / 24
6 Protoypisches Vorgehen 1 Parsen des Ausdrucks 2 Umsetzung in einen nichtdeterministischen endlichen Automaten 3 Übersetzung des NDEA in einen deterministischen endlichen Automaten 4 Grafische Darstellung des Automaten und dessen Simulation durch Animation Umsetzung im Browser: JavaScript (Raphaël für SVG, jquery), HTML+CSS 6 / 24
7 Stack RegexParser Nfa2Dfa push() pop() atom() factor()... parse() convert() epsclosure() move() NfaState id symbol setnxt() getnxt() Nfa startstate, finalstate concat() union() kleene()... graph node() connection() globals NfaSimulator uifunc ALPHA ttable... * simulate() epsclosure() move() uiparse() uisimulate()... Abbildung: Konkreter System-Aufbau
8 1 Einleitung Überlegungen Protoypisches Vorgehen Konkreter Aufbau 2 Einfaches Parsing regulärer Ausdrücke Recursive Descent-Methode Konstruktion nach Thompson Beispiel 3 Überführung NDEA zu einem DEA -Abschluss Beispiel 4 Demo 5 Weiterentwicklung 8 / 24
9 Grammatik: expr term term expr term factor term factor atom kleene atom literal ( expr ) kleene kleene literal a b c % Recursive Descent-Methode Code: RegexParser. prototype. expr = function () { var nfa = t h i s. term (); i f ( t h i s. trymatch ( )) { r e t u r n nfa. union ( t h i s. expr ()); }; r e t u r n nfa ; }; Nahezu direktes Übersetzen einer Grammatik 1 in den Quelltext des Parsers, top-down (LL(1)) Nichtterminale Funktion, welche die rechte Seite der jeweiligen Regel behandelt Direkte Erzeugung des NDEA, mittels Konstruktion nach Thompson in O( r ) ( r Länge des regulären Ausdrucks) Ergebnis: Automat mit max. 2 r Zuständen, 4 r Transitionen 1 keine Links-Rekursionen, sonst: Endlosschleife 9 / 24
10 Konstruktion nach Thompson Konkatenation: ab start a b start a Hülle: a* a start Vereinigung: (a b) b 10 / 24
11 Thompsons Algorithmus: Beispiel Regulärer Ausdruck: a(a b)c* a b c a start 11 / 24
12 1 Einleitung Überlegungen Protoypisches Vorgehen Konkreter Aufbau 2 Einfaches Parsing regulärer Ausdrücke Recursive Descent-Methode Konstruktion nach Thompson Beispiel 3 Überführung NDEA zu einem DEA -Abschluss Beispiel 4 Demo 5 Weiterentwicklung 12 / 24
13 Einleitung Warum den erzeugten NDEA in einen DEA überführen? trade-off : NDEA DEA Platzbedarf 2 r = m, 4 r = n 2 m Erstellungszeit O( r ) O( r 2 2 r ), O( r 3 ) Simulation O( x (m + n)) O( x ) O( x r ) x Länge des Eingabe-Strings; bei Erstellungszeit DEA: links worst-case, rechts der Durchschnitsfall Die hier erzeugten NDEA umfassen für gewöhnlich sehr viele Zustände, die Darstellung eines DEA ist praktikabler 13 / 24
14 Pseudo-Code -Abschluss e p s c l o s u r e ( dstate ): s t a c k s f o r e a c h nstate in dstate { s. push ( nstate ) } w h i l e s not empty { nstate1 = s. pop () f o r e a c h nstate1 e> nstate2 { i f nstate2 not in dstate { dstate.add( nstate2 ) s. push ( nstate2 ) } } } r e t u r n dstate n f a 2 d f a (NFA): s t a c k s, DFA d s. push ( e p s c l o s u r e ( nfa. start )) d.add( e p s c l o s u r e ( nfa. start )) w h i l e s not empty { dstate1 = s. pop () f o r e a c h ch in ALPHA { dstate2 = move( dstate1, ch) next = e p s c l o s u r e ( dstate2 ) i f next not in DFA { d.add( dstate ch > next ) } } } r e t u r n d a e> b: -Übergang von Z. a nach b; a ch> b: Übergang mit Zeichen ch Formal: p Q : E({p}) = {q Q : p q} (-Abschl. v. a. p aus Q) Simulation des NDEA, oder vollständige Erzeugung eines DEA 14 / 24
15 NDEA DEA Beispiel Regulärer Ausdruck: (a b)* 0 a 1 start b 3
16 NDEA DEA Beispiel /2 Dfa ID Symbol Dfa ID a {1, 5, 7, 4, 0, 2} {6, 7, 4, 0, 2} b {3, 5, 7, 4, 0, 2} a {1, 5, 7, 4, 0, 2} {1, 5, 7, 4, 0, 2} b {3, 5, 7, 4, 0, 2} a {1, 5, 7, 4, 0, 2} {3, 5, 7, 4, 0, 2} b {3, 5, 7, 4, 0, 2} start {6, 7, 4, 0, 2} a a b {1, 5, 7, 4, 0, 2} {3, 5, 7, 4, 0, 2} b a b
17 Fragen?
18 Literatur I Alfred V. Aho, Ravi Sethi, and Jeffrey David Ullman. Compilers. Principles, Techniques & Tools. Addison-Wesley, Reading, Mass. [u.a.], repr. with corr. edition, Literaturverz. S Russ Cox. Regular Expression Matching Can Be Simple And Fast [Online; abgerufen ]. Hans Werner Lang. Algorithmen in Java. Oldenbourg, Wiesbaden, / 24
19 Literatur II Gonzalo Navarro and Mathieu Raffinot. Compact dfa representation for fast regular expression search, K. Thompson. Regular expression search algorithm. Comm. Assoc. Comp. Mach., 11(6): , Gertjan van Noord. The treatment of epsilon moves in subset construction. In IN FINITE-STATE METHODS IN NATURAL LANGUAGE PROCESSING, ANKARA. CMP-LG/ , pages 61 76, / 24
20 Ressourcen Raphaël JavaScript SVG Library ( jquery JavaScript Library ( Scalable Vector Graphics (SVG) 1.1 Specification ( Writing your own regular expression parser ( OwnRegExpressionsParser.aspx) 20 / 24
21 1 Einleitung Überlegungen Protoypisches Vorgehen Konkreter Aufbau 2 Einfaches Parsing regulärer Ausdrücke Recursive Descent-Methode Konstruktion nach Thompson Beispiel 3 Überführung NDEA zu einem DEA -Abschluss Beispiel 4 Demo 5 Weiterentwicklung 21 / 24
22 Demo
23 1 Einleitung Überlegungen Protoypisches Vorgehen Konkreter Aufbau 2 Einfaches Parsing regulärer Ausdrücke Recursive Descent-Methode Konstruktion nach Thompson Beispiel 3 Überführung NDEA zu einem DEA -Abschluss Beispiel 4 Demo 5 Weiterentwicklung 23 / 24
24 Weiterentwicklung Vorhanden:,, () Zeichenklassen:., \w, \d, [ ],... Einfach implementierbar, Vorverarbeitung der Eingabe Operatoren: +,?, {m, n},... Ebenfalls durch Vorverarbeitung lösbar, beziehungsweise durch Anpassung des Automaten Lookahead oder lookbehind sind leider nicht ohne Weiteres mit endlichen Automaten zu implementieren, da die zugrunde liegenden Grammatiken nicht mehr regulär wären. 24 / 24
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
Was bisher geschah: Formale Sprachen
Was isher geschah: Formale Sprachen Alphaet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen reguläre Ausdrücke: Syntax, Semantik, Äquivalenz Wortersetzungssysteme Wortersetzungsregeln
Reguläre Sprachen Endliche Automaten
Endliche Automaten (Folie 54, Seite 16 im Skript) Einige Vorteile endlicher deterministischer Automaten: durch Computer schnell simulierbar wenig Speicher benötigt: Tabelle für δ (read-only), aktueller
Part-Of-Speech-Tagging mit Viterbi Algorithmus
Part-Of-Speech-Tagging mit Viterbi Algorithmus HS Endliche Automaten Inna Nickel, Julia Konstantinova 19.07.2010 1 / 21 Gliederung 1 Motivation 2 Theoretische Grundlagen Hidden Markov Model Viterbi Algorithmus
Formale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
Was ist ein Compiler?
Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?
Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9
Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die
Grammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler
Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.
Vorlesung Theoretische Informatik
Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester
Äquivalente Grammatiken / attributierte Grammatik
Äquivalente Grammatiken / attributierte Grammatik Linksfaktorisierung Elimination von Linksrekursion Umwandlung von EBNF in BNF Attributierte Grammatik Semantikfunktionen und Übersetzungsschema Synthetisierte,
Programmiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
Theoretische Informatik I
Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften
Überführung regulärer Ausdrücke in endliche Automaten
Der Algorithmus von Thompson Karin Haenelt 9.5.2010 1 Inhalt Quelle Prinzip des Algorithmus Algorithmus Konstruktion des Automaten Basisausdrücke Vereinigung, Konkatenation, Hülle Beispiel Implementierung
Grundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition
Sprachen/Grammatiken eine Wiederholung
Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:
Informatik IC2. Balazs Simon 2005.03.26.
Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................
der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.
Medizintechnik MATHCAD Kapitel. Einfache Rechnungen mit MATHCAD ohne Variablendefinition In diesem kleinen Kapitel wollen wir die ersten Schritte mit MATHCAD tun und folgende Aufgaben lösen: 8 a: 5 =?
Aufgabentypen die in der Klausur vorkommen
Aufgabentypen die in der Klausur vorkommen können 1. Nennen Sie fünf wichtige Anwendungsgebiete der Computerlinguistik. 2. Für welches der drei Anwendungsgebiete Maschinelle Übersetzung, Rechtschreibkorrektur
Grundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
http://train-the-trainer.fh-joanneum.at IINFO Storyboard
IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als
Grafische Interaktionssysteme/ dynamische Visualisierung des endlichen Automaten
Sprachliche Informationsverarbeitung 29.01.2007 HS Intelligente Systeme Prof. Dr. J. Rolshoven (WS 06/07) Grafische Interaktionssysteme/ dynamische Visualisierung des endlichen Automaten Referentin: Melinda
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
Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
1 ÜBERSETZER. Compilerbau 1
1 ÜBERSETZER 1 A.V.Aho, J.D.Ullmann: Principles of Compiler Design, Addison Wesley (1977) J.Amsterdam: Building a computer in Software, BYTE (Okt. 1985) Programming Project: A SIMPL Compiler, BYTE (Dez.
Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
Informatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: [email protected] Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht
Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005
Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2
2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Deterministische Kellerautomaten
PowerPoint vertonen. by H.Schönbauer 1
PowerPoint vertonen by H.Schönbauer 1 Das brauchen wir dazu: PowerPoint Ein Konzept, eine Idee Ein oder mehrere Musikstücke Konvertierungssoftware Grafische Elemente wie Fotos, Cliparts Wenn wir das alles
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann [email protected]
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.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
Information Systems Engineering Seminar
Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt
EndTermTest PROGALGO WS1516 A
EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.
Zusatzmaterial zum Buch "Algorithmen kompakt und verständlich" Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt
Anleitung zur Excel-Anwendung Basisprämienberechnung
Anleitung zur Excel-Anwendung Basisprämienberechnung Inhaltsverzeichnis Inhaltsverzeichnis... 1 Abbildungsverzeichnis... 1 1. Einleitung... 2 2. Allgemeine Anwendungshinweise... 2 3. Die Tabellenkalkulation...
Ihr CMS für die eigene Facebook Page - 1
Ihr CMS für die eigene Facebook Page Installation und Einrichten eines CMS für die Betreuung einer oder mehrer zusätzlichen Seiten auf Ihrer Facebook Page. Anpassen der "index.php" Installieren Sie das
Rhapsody in J Modellierung von Echtzeitsystemen
Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher [email protected] Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung
Mathematische Grundlagen der Informatik 2
Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss [email protected] 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert
Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?
Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Behandelte Fragestellungen Was besagt eine Fehlerquote? Welche Bezugsgröße ist geeignet? Welche Fehlerquote ist gerade noch zulässig? Wie stellt
Robot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
SEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
Semantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls
4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,
FL1 Hosting Technische Informationen
FL1 Hosting Verfasser Version: V1.0 (ersetzt alle früheren Versionen) Gültig ab: 18. Oktober 2015 Version 2.1 Seite 1/6 Inhaltsverzeichnis 1 DNS Eintrag bei Registrierungsstellen (NIC) FTP... 3 2 Allgemeine
25 Import der Beispiele
25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.
Projekt AGB-10 Fremdprojektanalyse
Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................
Grammatiken in Prolog
12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die
Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014
Definition von domänenspezifischen Sprachen mit Xtext: Einführung 19. November 2014 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen Entwicklung definieren wollen? Anforderungserfassung
Zentralabitur 2018 Informatik
Zentralabitur.nrw Ministerium für Schule und Weiterbildung des Landes Nordrhein-Westfalen Zentralabitur 2018 Informatik I. Unterrichtliche Voraussetzungen für die schriftlichen Abiturprüfungen an Gymnasien,
Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)
Modellierung biologischer Prozesse Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Überblick Einführung Arten von Modellen Die stochastische Pi-Maschine Warum Modelle Die Biologie konzentriert
Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik
Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende
Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19
Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie
Grundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)
Seite 1/7 Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Hier sehen Sie eine Anleitung wie man einen Serienbrief erstellt. Die Anleitung
Taylorentwicklung der k ten Dimension
Taylorentwicklung der k ten Dimension 1.) Taylorentwicklung... 2 1.1.) Vorgehenesweise... 2 1.2.) Beispiel: f ((x, y)) = e x2 +y 2 8x 2 4y 4... 3 2.) Realisierung des Algorithmus im CAS Sage Math... 5
Die Nuance-Grammatik und der Grammar Builder
Die Nuance-Grammatik und der Grammar Builder Grobe Gliederung der Präsentation Nuance-Grammatik Operatoren und Rekursion Semantik Kompilation Kommandozeilen-Compiler Nuance Grammar Builder Testen Mit NGB
Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.
Zeitmanagement Allgemeine Einleitung Wie oft haben Sie schon gehört Ich habe leider keine Zeit? Und wie oft haben Sie diesen Satz schon selbst gesagt? Wahrscheinlich nahezu jeden Tag. Dabei stimmt der
DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold
DSLs mit Xtext entwerfen 17.08.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was sind DSLs? 2. Xtext Konzepte 3. Einführung ins Sprachdesign 4. Hands On! 3 4 8 20 2 Was sind DSLs? Domain Specific
Individuelle Erweiterung des generierten Codes. 16. Januar 2013
Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene
Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.
ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf
Seminar aus dem Bereich E-Learning
Seminar aus dem Bereich E-Learning Thema: Softwarebasierende Lernhilfen zur Interaktiven Visualisierung von Automaten und ihre Eignung für den Sekundarstufenunterricht. Martin Franz [email protected]
Typbasierte Analyse von JavaScipt
Typbasierte Analyse von JavaScipt Phillip Heidegger [email protected] Albert Ludwigs Universität Freiburg 28. Oktober 2008 Gliederung 1 Motivation 2 Einleitung in JavaScript 3 Typsystem
SAP Enterprise Asset Management Visualisierung in der Instandhaltung
SAP Enterprise Asset Management Visualisierung in der Instandhaltung Martin Janssen Solution Manager SAP AG Ratingen, Juni 2013 Public Haftungsausschluss Die Informationen in dieser Präsentation sind vertraulich
Parsing regulärer Ausdrücke. Karin Haenelt
Karin Haenelt 25.4.2009 1 Inhalt kontextfreie Grammatik für reguläre Ausdrücke Grundlagen Parsebaum: konkrete Syntax Syntaxbaum: abstrakte Syntax Algorithmus: rkennung Konstruktion des Syntaxbaumes 2 Grammatik
Qt-Projekte mit Visual Studio 2005
Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung
Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?
Torsten Flatter inovex GmbH "Git.NET" gibt's nicht? Vorstellung Torsten Flatter inovex GmbH.NET / C# seit 2004 VSS, CVS, SVN, TFS, hq, git Enterprise-Umfeld Agenda Überblick Grundlagen Einsatzbereiche
Praktikum Algorithmen SS14. Fachgebiet Algorithmik
Praktikum Algorithmen SS14 Fachgebiet Algorithmik Einleitung Wir bieten: Themen, die uns wirklich interessieren und erwarten dafür: Ergebnisse, die weiterverwendet werden können Keine reine Beschäftigungstherapie!
Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.
Stundenverwaltung Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter. Dieses Programm zeichnet sich aus durch einfachste
affilinet_ Flash-Spezifikationen
affilinet_ Flash-Spezifikationen Inhaltsverzeichnis Allgemeines...2 Klickzählung...2 Lead/Sale Programme... 2 PPC und Kombi Programme...3 Übergabe von Formulardaten...4 clicktag Variante Sale/Lead Programm...4
Software-Engineering SS03. Zustandsautomat
Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die
Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten
Bachlor-Abschlussarbeit Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten im Studiengang Informatik der Fakultät IV - Wirtschaft und Informatik Sommersemester 2009 Burim
kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense
Keywords sind das Salz in der Suppe des Online Marketing Keywords - Das Salz in der Suppe des Online Marketing Keyword Arten Weitgehend passende Keywords, passende Wortgruppe, genau passende Wortgruppe
AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Barcode Master. Barcode Generator für PC Windows und MAC OS. Bedienungsanleitung und Handbuch. Version 1.1. Dr.J.Willrodt / 28.04.
U Barcode Generator für PC Windows und MAC OS Bedienungsanleitung und Handbuch Version 1.1 Dr.J.Willrodt / 28.04.03 16:11 Page 1 1. Einführung Der (URW)++ ist ein kleines Programm, welches den Anwender
«Integration in WebSite» HTML-/Javascript-Code-Beispiele
QuickInfo «Integration in WebSite» HTML-/Javascript-Code-Beispiele Fragen? Ihre Umfrage soll direkt in resp. auf Ihrer WebSite erscheinen? Die Möglichkeiten für eine technische Integration an exakten Stellen
Tooldemo: Soot. Softwareanalyse SS 2011 Veranstalter: Prof. Dr. Klaus Ostermann Tillmann Rendel, M.Sc. Von Kim Maurice Nuspl
Softwareanalyse SS 2011 Veranstalter: Prof. Dr. Klaus Ostermann Tillmann Rendel, M.Sc. Tooldemo: Soot (http://www.sable.mcgill.ca/soot/) Von Kim Maurice Nuspl Gliederung: Was ist Soot? Eclipse Plugin Grundlagen
IT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
Kurzeinweisung. WinFoto Plus
Kurzeinweisung WinFoto Plus Codex GmbH Stand 2012 Inhaltsverzeichnis Einleitung... 3 Allgemeines... 4 Vorbereitungen... 4 Drucken des Baustellenblatts im Projekt... 4 Drucken des Barcodes auf dem Arbeitsauftrag
17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014
17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici 12.Übung 13.1. bis 17.1.2014 1 BEFRAGUNG http://1.bp.blogspot.com/- waaowrew9gc/tuhgqro4u_i/aaaaaaaaaey/3xhl 4Va2SOQ/s1600/crying%2Bmeme.png
Thüringer Kultusministerium. Abiturprüfung 2000
Thüringer Kultusministerium Arbeitszeit: Hilfsmittel: Abiturprüfung 2000 270 Minuten Leistungsfach Informatik (Haupttermin) Formeln und Tabellen für die Sekundarstufen I und II/ Paetec, Gesellschaft für
Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997
Raytracing Schlussbericht Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 bei Betreuer Marco Manzi, Institut für Informatik und angewandte Mathematik Inhalt Fragestellung...
Erstellen der Barcode-Etiketten:
Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst
Einführung Responsive Webdesign
Einführung Responsive Webdesign Aktuelle Situation Desktop Webseiten Umsetzungen auch heute noch in den meisten Fällen Pixelbasiert JavaScript schafft Dynamik CSS schafft Trennung von Inhalt und Layout
M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
Projektmanagement in Outlook integriert
y Projektmanagement in Outlook integriert InLoox 6.x Update auf InLoox 6.7.x Ein InLoox Whitepaper Veröffentlicht: März 2011 Copyright: 2011 InLoox GmbH. Aktuelle Informationen finden Sie unter http://www.inloox.de
Mächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
Theoretische Informatik
Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:
Grundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick
Eigene Suchmaschine erstellen mit Google Eine kurze Anleitung Stand: 28. November 2007
Eigene Suchmaschine erstellen mit Google Eine kurze Anleitung Stand: 8. November 007 Nando Stöcklin, PHBern, Zentrum für Bildungsinformatik, bildungsinformatik.phbern.ch 1 Einleitung Sie kennen ein Dutzend
GuiXT und mysap ERP. Regensdorf, April 2004 Dr.Gerhard Rodé, Synactive GmbH
GuiXT und mysap ERP Regensdorf, April 2004 Dr.Gerhard Rodé, Synactive GmbH Hinweis: Einige Aussagen und Diagramme zu den SAP Produkten in dieser Präsentation stammen aus den von SAP im Internet zur Verfügung
Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2
Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2 von Christoph Knabe http://public.beuth-hochschule.de/~knabe/ Ch. Knabe: Operationalisierbare Qualitätskriterien
Zentralabitur 2017 Informatik
Zentralabitur.nrw Ministerium für Schule und Weiterbildung des Landes Nordrhein-Westfalen Zentralabitur 2017 Informatik I. Unterrichtliche Voraussetzungen für die schriftlichen Abiturprüfungen an Gymnasien,
