Formale Sprachen und Automaten
|
|
- Fritzi Schmitt
- vor 6 Jahren
- Abrufe
Transkript
1 Formale Sprachen und Automaten Kapitel 3: Regular Expressions Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012
2 Kapitel 3 Regular Expressions Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Inhalt 2/62
3 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Ein Anwendungsszenario für regular expressions 3/62
4 Einleitung Ein Regular Expression oder kurz Regex bietet die Möglichkeit, eine (nicht zu komplizierte) formale Sprache kompakt zu spezifizieren. Eine Reihe von (Unix-)Werkzeugen und Programmiersprachen erfordern oder erlauben zumindest die Benutzung von Regexes. wörtlich: regulärer Ausdruck, aber allgemeiner als das in Kapitel 2 eingeführte Konzept. hier: keine vollständige Definition von Regex, aber Schritt für Schritt wesentliche Aspekte Vorläufig denke man bei Regex einfach an regulärer Ausdruck. Je nach Werkzeug variieren die konkrete Syntax und/oder die Mächtigkeit der zur Verfügung stehenden Konzepte. hier: grundsätzliche, allgemein gültige Fakten Ein Anwendungsszenario für regular expressions 4/62
5 Informationen die üblichen Quellen (man pages, etc.) Jeffrey E. F. Friedl: Mastering Regular Expressions David Mertz: programming/regular_expressions.html Philip Hazel: Dokumentation von java.util.regex Ein Anwendungsszenario für regular expressions 5/62
6 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Regular expressions bei egrep 6/62
7 3.1 Anwendungsszenario Gegeben: ein Wort w und ein Regex R Frage: Enthält w ein Teilwort, das durch R beschrieben wird? kurz: Matcht R in w? Beispiel: R = matcht w = , denn w enthält (sogar zweimal) das Teilwort 001. Programm egrep Argumente: Regex R und ein (oder mehrere) Dateiname(n) Für jede Zeile der Datei(en) wird geprüft, ob sie als Wort von R gematcht wird. Solche Zeilen werden ausgegeben (oder weiterverarbeitet), alle anderen nicht. Regular expressions bei egrep 7/62
8 3.2 Beispiele bei egrep: Warnung Es gibt nicht die eine Implementierung von egrep. Details sind verschieden: Dokumentation lesen! Wir beschränken uns auf allgemein Gültiges. Regular expressions bei egrep 8/62
9 Beispieldatei 0. huo 1. hugo Jede Zeile beginnt mit einer Ziffer und endet mit einem o. Regular expressions bei egrep 9/62
10 Typischer Aufruf von egrep > egrep hugo liste erstes Argument: Regex weitere Argumente: Dateinamen Achtung: Um zu verhindern, dass die Shell Zeichen wie z. B. * interpretiert, wird der ganze Regex in single quotes... eingeschlossen, die nicht zum Regex gehören. Regular expressions bei egrep 10/62
11 3.1 Beispiele 0. huo 1. hugo > egrep hugo liste Regular expressions bei egrep 11/62
12 3.1 Beispiele 0. huo 1. hugo > egrep hugo liste 1. hugo Regular expressions bei egrep 11/62
13 3.1 Beispiele 0. huo 1. hugo > egrep uo ggg liste Regular expressions bei egrep 12/62
14 3.1 Beispiele 0. huo 1. hugo > egrep uo ggg liste 0. huo Regular expressions bei egrep 12/62
15 3.1 Beispiele 0. huo 1. hugo > egrep ggg* liste Regular expressions bei egrep 13/62
16 3.1 Beispiele 0. huo 1. hugo > egrep ggg* liste Regular expressions bei egrep 13/62
17 3.1 Beispiele 0. huo 1. hugo > egrep gg(g)* liste Regular expressions bei egrep 14/62
18 3.1 Beispiele 0. huo 1. hugo > egrep gg(g)* liste Regular expressions bei egrep 14/62
19 3.1 Beispiele 0. huo 1. hugo > egrep (gg)* liste Regular expressions bei egrep 15/62
20 3.1 Beispiele 0. huo 1. hugo > egrep (gg)* liste 0. huo 1. hugo Regular expressions bei egrep 15/62
21 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Bequemere Notation für reguläre Ausdrücke 16/62
22 3.3 Abkürzungen Ist R ein regulärer Ausdruck, so schreibt man ε statt O/*, R+ statt RR*, R* statt R * und R+ statt R + R? statt R ε Bequemere Notation für reguläre Ausdrücke 17/62
23 3.4 Beispiele 0. huo 1. hugo > egrep g+ liste Bequemere Notation für reguläre Ausdrücke 18/62
24 3.4 Beispiele 0. huo 1. hugo > egrep g+ liste 1. hugo Bequemere Notation für reguläre Ausdrücke 18/62
25 3.4 Beispiele 0. huo 1. hugo > egrep g? liste Bequemere Notation für reguläre Ausdrücke 19/62
26 3.4 Beispiele 0. huo 1. hugo > egrep g? liste 0. huo 1. hugo Bequemere Notation für reguläre Ausdrücke 19/62
27 3.5 Zeichenklassen Für einzelne Zeichen x 1,, x k schreibt man statt x 1 x k kürzer [x 1 x k ]. Bei naheliegender Reihenfolge (Alphabet!) auch noch kürzer [x 1 -x k ]. Bequemere Notation für reguläre Ausdrücke 20/62
28 3.6 Beispiel für Zeichenklassen Beispiel: [a-z] statt a b c d e f g h i j k l m n o p q r s t u v w x y z. Beispiel: Variablennamen (ohne Unterstriche) in C [a-za-z][a-za-z0-9]* Bequemere Notation für reguläre Ausdrücke 21/62
29 3.7 Beispiele für Zeichenklassen 0. huo 1. hugo > egrep [defg] liste Bequemere Notation für reguläre Ausdrücke 22/62
30 3.7 Beispiele für Zeichenklassen 0. huo 1. hugo > egrep [defg] liste 1. hugo Bequemere Notation für reguläre Ausdrücke 22/62
31 3.7 Beispiele für Zeichenklassen 0. huo 1. hugo > egrep [d-g] liste Bequemere Notation für reguläre Ausdrücke 23/62
32 3.7 Beispiele für Zeichenklassen 0. huo 1. hugo > egrep [d-g] liste 1. hugo Bequemere Notation für reguläre Ausdrücke 23/62
33 3.8 Negierte Zeichenklassen Angabe der ausgeschlossenen Zeichen Man schreibt [^x 1 x k ] für die Menge aller Zeichen, ausgenommen x 1,, x k. Bequemere Notation für reguläre Ausdrücke 24/62
34 3.9 Beispiel für eine negierte Zeichenklasse 0. huo 1. hugo > egrep [^1234hugo. ] liste Bequemere Notation für reguläre Ausdrücke 25/62
35 3.9 Beispiel für eine negierte Zeichenklasse 0. huo 1. hugo > egrep [^1234hugo. ] liste 0. huo Bequemere Notation für reguläre Ausdrücke 25/62
36 3.10 Wiederholungshäufigkeiten Es seien x und y nichtnegative ganze Zahlen mit x y. R{x} steht für (R) (R). }{{} x mal R{x,} steht für R{x}R*. R{x, y} steht für (R) (R) (R?) (R?). }{{}}{{} x mal y x mal Bequemere Notation für reguläre Ausdrücke 26/62
37 Beispiele ε ist äquivalent zu R{0} R ist äquivalent zu R{1} R* ist äquivalent zu R{0,} R+ ist äquivalent zu R{1,} R? ist äquivalent zu R{0,1} Bequemere Notation für reguläre Ausdrücke 27/62
38 3.11 Beispiele für Wiederholungshäufigkeiten 0. huo 1. hugo > egrep [oguh]{5,} liste Bequemere Notation für reguläre Ausdrücke 28/62
39 3.11 Beispiele für Wiederholungshäufigkeiten 0. huo 1. hugo > egrep [oguh]{5,} liste Bequemere Notation für reguläre Ausdrücke 28/62
40 3.11 Beispiele für Wiederholungshäufigkeiten 0. huo 1. hugo > egrep [ouh]{5,} liste Bequemere Notation für reguläre Ausdrücke 29/62
41 3.11 Beispiele für Wiederholungshäufigkeiten 0. huo 1. hugo > egrep [ouh]{5,} liste Bequemere Notation für reguläre Ausdrücke 29/62
42 3.11 Beispiele für Wiederholungshäufigkeiten 0. huo 1. hugo > egrep [ogh]{5,} liste Bequemere Notation für reguläre Ausdrücke 30/62
43 3.11 Beispiele für Wiederholungshäufigkeiten 0. huo 1. hugo > egrep [ogh]{5,} liste Bequemere Notation für reguläre Ausdrücke 30/62
44 3.12 Punkt Ein einzelner Punkt. steht für ein x-beliebiges Zeichen. Bequemere Notation für reguläre Ausdrücke 31/62
45 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Metazeichen in Zeichenklassen 32/62
46 3.13 Problem Wie notiert man Metazeichen, also - ^ [ ] als normale Zeichen in einer Zeichenklasse? Metazeichen in Zeichenklassen 33/62
47 3.14 Lösung (jedenfalls manchmal) Mitunter gelten die folgenden Regeln: Ein - unmittelbar nach [ bzw. nach [^ steht für sich Ein ^ nicht unmittelbar nach [ steht für sich Ein ] unmittelbar nach [ bzw. nach [^ steht für sich Ein [ unmittelbar nach [ bzw. nach rx[n steht für sich Metazeichen in Zeichenklassen 34/62
48 3.15 Beispiele für Metazeichen in Zeichenklassen Die Datei klammern enthalte zwei Zeilen mit jeweils einer Klammer als einzigem Zeichen: [ ] > egrep [[] klammern Metazeichen in Zeichenklassen 35/62
49 3.15 Beispiele für Metazeichen in Zeichenklassen Die Datei klammern enthalte zwei Zeilen mit jeweils einer Klammer als einzigem Zeichen: [ ] > egrep [[] klammern [ Metazeichen in Zeichenklassen 35/62
50 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep []] klammern Metazeichen in Zeichenklassen 36/62
51 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep []] klammern ] Metazeichen in Zeichenklassen 36/62
52 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep [^[] klammern Metazeichen in Zeichenklassen 37/62
53 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep [^[] klammern ] Metazeichen in Zeichenklassen 37/62
54 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep [^]] klammern Metazeichen in Zeichenklassen 38/62
55 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep [^]] klammern [ Metazeichen in Zeichenklassen 38/62
56 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep [^^] klammern Metazeichen in Zeichenklassen 39/62
57 3.15 Beispiele für Metazeichen in Zeichenklassen [ ] > egrep [^^] klammern [ ] Metazeichen in Zeichenklassen 39/62
58 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Anker 40/62
59 3.16 Problem Gesucht: Matches, die am Anfang der untersuchten Zeichenkette beginnen und/oder am Ende der Zeichenkette enden. Festlegung: Der Anker für den Zeichenkettenanfang ist das ^. Der Anker für das Zeichenkettenende ist das $. Ein Ankersymbol matcht nicht das entsprechende Symbol in der Eingabe, sondern das leere Wort an einer ganz bestimmten Stelle in der Eingabe. Anker 41/62
60 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ugg liste Anker 42/62
61 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ugg liste Anker 42/62
62 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ugg$ liste Anker 43/62
63 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ugg$ liste Anker 43/62
64 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ^ugg liste Anker 44/62
65 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ^ugg liste Anker 44/62
66 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ggo$ liste Anker 45/62
67 3.17 Beispiele für Anker 0. huo 1. hugo > egrep ggo$ liste Anker 45/62
68 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Gruppierungen und was sie matchen 46/62
69 Problem Bisher nur die Frage: Matcht ein Regex R in einem Wort w (oder nicht)? Nun die Frage: Matcht ein Regex R in einem Wort w, und wenn ja, wo? Gruppierungen und was sie matchen 47/62
70 3.18 Beispiele Im Allgemeinen mehrere Stellen, an denen gematcht wird: R = aa bb und w = _aa_bb_ Wird aa gematcht oder bb? R = bb* und w = abbbbc Wird nur ein b gematcht, oder 2 b oder 3 oder 4? R = b bbb und w = abbbc Wird nur b gematcht oder bbb? Gruppierungen und was sie matchen 48/62
71 3.19 Regel 1: Position des gematchten Textes 1. Ein weiter vorne in der Zeichenkette beginnender exakter Match wird einem weiter hinter beginnenden immer bevorzugt. Diese Regel ist so für (nahezu?) alle Werkzeuge, die mit Regexes umgehen, gültig. Gruppierungen und was sie matchen 49/62
72 3.20 Regel 2: Länge des gematchten Textes Hier gibt es deutliche Unterschiede; verschiedene Werkzeuge implementieren verschiedene Spezifikationen. 2a. POSIX Spezifikation: Bei gleichem Startpunkt in der Zeichenkette wird ein längerer Match einem kürzeren immer bevorzugt. 2b. Bei einigen anderen Werkzeugen (z. B. Perl): kompliziertere Festlegung des gematchten Textes, dafür einfachere und schnelle Verfahren. Gruppierungen und was sie matchen 50/62
73 3.21 Beispiele 1. R = aa bb und w = _aa_bb_ Regel 1: das aa wird gematcht und nicht das bb 2. R = bb aa und w = _aa_bb_ Regel 1: das aa wird gematcht und nicht das bb 3. R = bb* und w = abbbbc Regel 2a: das bbbb wird gematcht in diesem Fall matcht z. B. auch Perl noch bbbb 4. R =.* und w beliebig Es wird alles gematcht. Kompliziertere Beispiele kommen gleich. Gruppierungen und was sie matchen 51/62
74 3.22 Gruppierungen Sinnvolle Teilausdrücke können durch Klammerung mit ( und ) zu einem Unterausdruck zu gruppieren werden. Gruppen dürfen geschachtelt sein. Manchmal gibt es Implementierungsschranken bei der Anzahl von Gruppen insgesamt oder bei der Schachtelungstiefe. Vereinbarung: Gruppe 0 ist der gesamte Regex, auch wenn nicht geklammert wurde. Im Folgenden wird stets angenommen, dass der gesamte Regex nicht geklammert ist. Die Nummern der weiteren Gruppen ergeben sich durch Zählen der öffnenden Klammern bis zur interessierenden Gruppe inkl. Gruppierungen und was sie matchen 52/62
75 3.23 Beispiele für Gruppierungen R = (bb)c(bb) und w = zzbbcbbz: zzbbcbbz R = (bb)c*(bb) und w = zzbbcbbzzzbbcccbb: zzbbcbbzzzbbcccbb Gruppierungen und was sie matchen 53/62
76 3.24 Beispiel für Gruppierungen R = (.*)(.*) und w = abcdefg Annahme: POSIX-Regeln Gruppierungen und was sie matchen 54/62
77 3.24 Beispiel für Gruppierungen R = (.*)(.*) und w = abcdefg Annahme: POSIX-Regeln abcdefg 1 0 Gruppierungen und was sie matchen 54/62
78 3.24 Beispiel für Gruppierungen R = (.*)(.*) und w = abcdefg Annahme: POSIX-Regeln abcdefg 1 0 Die zweite Gruppe matcht nichts, weil die erste ein möglichst langes Teilwort matcht und nichts übrig lässt. Gruppierungen und was sie matchen 54/62
79 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Rückwärtsverweise 55/62
80 3.25 Rückwärtsverweise (engl. back references) erweitern die Möglichkeiten von Regexes deutlich. Nachdem Gruppe i abeschlossen ist, steht das von Gruppe i gematcht wurde. Bei manchen Werkzeugen sind nur einstellige Gruppennummern zulässig. i für das Teilwort, / Rückwärtsverweise 56/62
81 3.26 Beispiel R = (abc xyz) / 1 Rückwärtsverweise 57/62
82 3.26 Beispiel R = (abc xyz) 1 matcht abcabc / Rückwärtsverweise 57/62
83 3.26 Beispiel R = (abc xyz) 1 matcht abcabc matcht xyzxyz / Rückwärtsverweise 57/62
84 3.26 Beispiel R = (abc xyz) 1 matcht abcabc matcht xyzxyz matcht nicht abcxyz / Rückwärtsverweise 57/62
85 3.26 Beispiel R = (abc xyz) 1 matcht abcabc matcht xyzxyz matcht nicht abcxyz / Beachte: Unterschied zu (abc xyz)(abc xyz)!!! Rückwärtsverweise 57/62
86 3.27 Beispiel für Rückwärtsverweise 0. huo 1. hugo 4. huggggo 5. hugggggo 6. huggggggo 7. hugggggggo 8. huggggggggo > egrep ((gg)+)\1 liste2 Rückwärtsverweise 58/62
87 3.27 Beispiel für Rückwärtsverweise 0. huo 1. hugo 4. huggggo 5. hugggggo 6. huggggggo 7. hugggggggo 8. huggggggggo > egrep ((gg)+)\1 liste2 4. huggggo 5. hugggggo 6. huggggggo 7. hugggggggo 8. huggggggggo Rückwärtsverweise 58/62
88 3.27 Beispiel für Rückwärtsverweise 0. huo 1. hugo 4. huggggo 5. hugggggo 6. huggggggo 7. hugggggggo 8. huggggggggo > egrep u((gg)+)\1o liste2 Rückwärtsverweise 59/62
89 3.27 Beispiel für Rückwärtsverweise 0. huo 1. hugo 4. huggggo 5. hugggggo 6. huggggggo 7. hugggggggo 8. huggggggggo > egrep u((gg)+)\1o liste2 4. huggggo 8. huggggggggo Rückwärtsverweise 59/62
90 3.28 Beispiel für Rückwärtsverweise R = (.*).*( / 1) und w = abcxabca Aufgrund der ersten Regel ist klar, dass der Match auf jeden Fall mit dem ersten Symbol des Wortes beginnt. Aber dann? Rückwärtsverweise 60/62
91 3.28 Beispiel für Rückwärtsverweise R = (.*).*( / 1) und w = abcxabca Aufgrund der ersten Regel ist klar, dass der Match auf jeden Fall mit dem ersten Symbol des Wortes beginnt. Aber dann? Unter anderem folgende Möglichkeiten: Die erste Gruppe ist maximal gefräßig und matcht abc. Damit ist der Rest des Matches eindeutig festgelegt: Rückwärtsverweise 60/62
92 3.28 Beispiel für Rückwärtsverweise R = (.*).*( / 1) und w = abcxabca Aufgrund der ersten Regel ist klar, dass der Match auf jeden Fall mit dem ersten Symbol des Wortes beginnt. Aber dann? Unter anderem folgende Möglichkeiten: Die erste Gruppe ist maximal gefräßig und matcht abc. Damit ist der Rest des Matches eindeutig festgelegt: abcxabca Rückwärtsverweise 60/62
93 3.28 Beispiel für Rückwärtsverweise R = (.*).*( 1) und w = abcxabca / Aufgrund der ersten Regel ist klar, dass der Match auf jeden Fall mit dem ersten Symbol des Wortes beginnt. Aber dann? Unter anderem folgende Möglichkeiten: Die erste Gruppe ist maximal gefräßig und matcht abc. Damit ist der Rest des Matches eindeutig festgelegt: abcxabca Die erste Gruppe matcht a,.* ist maximal gefräßig und der Rückwärtsverweis matcht erst am Wortende: Rückwärtsverweise 60/62
94 3.28 Beispiel für Rückwärtsverweise R = (.*).*( 1) und w = abcxabca / Aufgrund der ersten Regel ist klar, dass der Match auf jeden Fall mit dem ersten Symbol des Wortes beginnt. Aber dann? Unter anderem folgende Möglichkeiten: Die erste Gruppe ist maximal gefräßig und matcht abc. Damit ist der Rest des Matches eindeutig festgelegt: abcxabca Die erste Gruppe matcht a,.* ist maximal gefräßig und der Rückwärtsverweis matcht erst am Wortende: abcxabca Rückwärtsverweise 60/62
95 Ein Anwendungsszenario für regular expressions Regular expressions bei egrep Bequemere Notation für reguläre Ausdrücke Metazeichen in Zeichenklassen Anker Gruppierungen und was sie matchen Rückwärtsverweise Verwendung von Metazeichen als reguläre Zeichen Verwendung von Metazeichen als reguläre Zeichen 61/62
96 3.29 Symbole O/, (, ), und * haben eine besondere Bedeutung Außerhalb von Zeichenklassen außerdem zumindest., +,?, [, ], { und } sogenannte Metazeichen Problem: Verwendung als Literal? Regel: Um Metazeichen auch als Literale benutzbar zu machen, muss ihnen ein Backslash vorangestellt werden. / Verwendung von Metazeichen als reguläre Zeichen 62/62
18.09.2010 / Software Freedom Day
18.09.2010 / Software Freedom Day xkcd Fortsetzung... Grundlegendes Begriff: = regular expressions kurz: regex Funktion: definieren flexible Muster, mit denen in Texten gesucht (und ersetzt) werden kann.
MehrFormale Sprachen und Automaten
Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten
MehrEmpfehlenswerte Referenzen
Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein
Mehr1.103 Regular Expressions - Reguläre Ausdrücke
Copyright ( ) 2009 by M.Peichl. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.0/de/
Mehr6 F O R M A L E S P R A C H E N. 6.1 formale sprachen
6.1 formale sprachen 6 F O R M A L E S P R A C H E N Eine natürliche Sprache umfasst mehrere Aspekte, z. B. Aussprache und Stil, also z. B. Wortwahl und Satzbau. Dafür ist es auch notwendig zu wissen,
MehrRegular Expressions. Daniel Lutz Was ist eine Regular Expression?
Regular Expressions Daniel Lutz 12.11.2003 1 Was ist eine Regular Expression? Ausdruck, der ein Textfragment beschreibt Eine Regular Expression passt zu einem Textfragment, wenn das Textfragment
MehrReguläre Ausdrücke - eine Einführung -
Ziel Reguläre Ausdrücke - eine Einführung - Andreas Romeyke Leipzig, Oktober/November 2002 Diese Präsentation ist eine kurze Einführung in die Welt der regulären Ausdrücke mit Schwerpunkt Perl. Die Präsentation
MehrWiederholung. Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q,
Wiederholung Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q, einem Anfangszustand q 0 Q, einer Menge von Endzuständen Q E Q, einer
MehrTheoretische Informatik. Reguläre Sprachen und Automaten
Theoretische Informatik Reguläre Sprachen und Automaten Reguläre Sprachen Reguläre Ausdrücke und Sprachen Gleichungen Syntaxdiagramme Erweiterungen Anwendungen Reguläre Ausdrücke über Σ Syntax: Konstante
MehrGrundbegriffe der Informatik Tutorium 2
Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 32 Philipp Oppermann 13. November 2013 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrWebengineering. Reguläre Ausdrücke. Dienstag, 2. Juli 13
Webengineering Reguläre Ausdrücke Marcel Vilas 1 DHBW - Stuttgart 1 RegExp - Allgemein Muster, die eine Menge von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln beschreiben Werden oft als Suchmuster
MehrReguläre Ausdrücke mit Java
Reguläre Ausdrücke mit Java Johannes Dyck, Thomas Schulz Projektseminar www.prominentpeople.info Gliederung 2 1. Grundlagen von regulären Ausdrücken 1. Aufbau 2. Zeichenklassen 3. Metazeichen 4. Quantoren
MehrGrundbegriffe 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
MehrAlphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
MehrDateisystem 2, Suchen & Finden
Dateisystem 2, Suchen & Finden Linux-Kurs der Unix-AG Benjamin Eberle 15. Januar 2015 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche Datei erzeugt
MehrFormale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler
Formale Sprachen Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen Rudolf Freund, Marian Kogler (http://xkcd.com/208) Gültige Adressen: Favoritenstraße 9, 1040 Wien Reumannplatz
MehrSebastian Harl. 03. Oktober 2008
Reguläre Ausdrücke Sebastian Harl LUSC Workshop Weekend 2008 03. Oktober 2008 (?:[a-z0-9!#$%& *+/=?^_ { }~-]+(?:\.[a-z0-9!#$%& *+/=?^_ { }~-]+ )* "(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]
MehrBenutzung der Manpage, Shell Teil 3
Benutzung der Manpage, Shell Teil 3 Linux-Kurs der Unix-AG Andreas Teuchert 3./9. Mai 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage
MehrTheorie der Informatik
Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken
MehrFerdinand Beyer. 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten...
Reguläre Ausdrücke Ferdinand Beyer Inhaltsverzeichnis 1 Allgemeines 2 1.1 Beschreibung............................. 2 1.2 Bezeichnungen............................ 2 1.3 Einsatzgebiete in UNIX-Tools....................
MehrReguläre Sprachen und endliche Automaten
Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented
MehrInformationsextraktion Materialien zur Vorlesung
Vordefinierte Informationsextraktion Materialien zur Vorlesung Reguläre Ausdrücke D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg
MehrEinführung in die Computerlinguistik Suche mit regulären Ausdrücken
Einführung in die Computerlinguistik Suche mit regulären Ausdrücken Dozentin: Wiebke Petersen 9. Foliensatz Wiebke Petersen Einführung CL 1 Suche mit regulären Ausdrücken Suche nach allen Wortformen des
MehrReguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär?
Donnerstag, 11. November 2004 13h00, Mozartsaal Reguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär? Dr. Martin Wunderli Trivadis AG, Zürich-Glattbrugg Schlüsselworte Reguläre Ausdrücke,
MehrReguläre Ausdrücke. Felix Döring, Felix Wittwer 14. November Python-Kurs
Reguläre Ausdrücke Felix Döring, Felix Wittwer 14. November 2016 Python-Kurs Gliederung 1. Grundlagen 2. Matching Regeln Sonderzeichen Zusammengesetzte Regex Spezielle Sequenzen 3. Methoden 4. reqular
MehrSelfLinux-0.12.3. Reguläre Ausdrücke
Reguläre Ausdrücke Autor: Dennis Roch (ysae@users.sourceforge.net) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Reguläre Ausdrücke Seite 2 Inhaltsverzeichnis 1 Einleitung
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2016/17 Aufgabenblatt 2 31.10.2016
MehrMotivation. 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 heitmann@informatik.uni-hamburg.de
MehrProgrammiersprachen 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
MehrDateisystem 2, Suchen & Finden, Manpages
Dateisystem 2, Suchen & Finden, Manpages Linux-Kurs der Unix-AG Malte Koster 17. Januar 2014 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche
MehrReguläre Ausdrücke Suchmuster, Pattern Matching
Suchmuster, Pattern Matching Ein oder mehrere Einzelzeichen in interner Variablen $_suchen: /e/ #liefert wahr, wenn $_ ein 'e' enthält. /aus/ #liefert wahr, wenn $_ 'aus' enthält. while { if (/e/)
MehrEs gibt viele Programme, die mit regulären Ausdrücken arbeiten:
Reinald Cronauer 7. Februar 2001 Reguläre Ausdrücke 1 Einführung Reguläre Ausdrücke, kurz Regex genannt, erlauben das Suchen von Zeichenfolgen in große Texte. Ein regulärer Ausdruck ist aber flexibler
MehrReguläre Ausdrücke. Karin Haenelt
Reguläre Ausdrücke Karin Haenelt 25.04.2010 1 Inhalt Einführung Definitionen Kleene-Theorem Schreibweisen regulärer Ausdrücke Eigenschaften regulärer Sprachen 2 Was sind reguläre Ausdrücke? Reguläre Ausdrücke
MehrAutomaten und Formale Sprachen
Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien
MehrReguläre Ausdrücke. Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher
Reguläre Ausdrücke Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher Prof.Dr.Chr. Wagenknecht Formale Sprachen und Automaten 1/44 Definition reguläre Ausdrücke für reguläre Sprachen
Mehr1 Syntax von Programmiersprachen
1 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 Programmier-Sprache Festlegung, wie Programme
MehrEinleitung. liefert Ihnen alle Dateien, die mit.txt enden. Oder dir bericht??.txt
Betrifft Regular Expressions Autor Martin Bracher (martin.bracher@trivadis.com) Art der Info Technische Background Info (November 2003) Quelle Aus unserer Schulungs- und Beratungstätigkeit Einleitung Sie
MehrEinführung in PERL 2 Reguläre Ausdrücke
Einführung in PERL 2 Reguläre Ausdrücke BASIEREND AUF FOLIEN VON DR. H. ZINSMEISTER und dem Buch `Einführung in Perl (Lama Buch) von RL Schwartz&T Phoenix sowie hwp://de.sel[tml.org/perl/sprache/regexpr.htm
MehrGrundbegriffe 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
MehrKapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
MehrKapitel 3: Reguläre Grammatiken und Endliche. Automaten
Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at
MehrFormale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19
1/19 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 16. Januar 2008 2/19 Reguläre Ausdrücke vierte Art (neben Typ-3-Grammatiken, deterministischen und nicht-deterministischen
MehrDefinition (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
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken schulz@eprover.org Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten
MehrFormale Sprachen, reguläre und kontextfreie Grammatiken
Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache
MehrRegexp Reguläre Ausdrücke
Vincent Tscherter, Raimond Reichert Regexp Reguläre Ausdrücke Suchen und Ersetzen von en, das können sehr viele Programme. Aber was, wenn man nach allen Telefonnummern oder E-Mail-Adressen in einem suchen
Mehr11 Fallstudie: Reguläre Ausdrücke
11 Fallstudie: Reguläre Ausdrücke Mit den bisher eingeführten Sprachelementen von Haskell lassen sich bereits substantielle Projekte realisieren. Dieses Kapitel 1 beschreibt einen algebraischen Datentyp
MehrGREP. Reguläre Ausdrücke. GREP Hardcore. Syntax. Ersetzen Suchen. Look Around. 20. April 2012 Pubkon 2013
GREP Syntax Reguläre Ausdrücke Look Around Ersetzen Suchen GREP Hardcore 20. April 2012 Pubkon 2013 Kontakt: Folien: gregor.fellenz@publishingx.de http://www.publishingx.de/dokumente Lizenz: c b n Quelle:
Mehrb{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf Bayerische Akademie der Wissenschaften, IT-Referat
b{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf raaf@badw.de Bayerische Akademie der Wissenschaften, IT-Referat Reguläre Ausdrücke engl. regular expressions, kurz: regex, regexp
MehrObjektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln
Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrWerkzeuge der Informatik UNIX
Autor: David Mainzer Institut für Informatik 1 Werkzeuge der Informatik UNIX Prof. Dr. Gabriel Zachmann (zach@in.tu-clausthal.de) David Mainzer (dm@tu-clausthal.de) Institut für Informatik 17. Dezember
MehrReguläre Ausdrücke. AnPr
Name Klasse Datum 1 Allgemeines Reguläre Ausdrücke (engl. Regular Expressions) dienen dazu, Texte bzw. Textpassagen zu beschreiben, indem Texte als Mengen von Zeichen interpretiert werden und die Beschreibung
Mehr17 R E L AT I O N E N
17 R E L AT I O N E N 17.1 äquivalenzrelationen 17.1.1 Definition In Abschnitt 11.2.1 hatten wir schon einmal erwähnt, dass eine Relation R M M auf einer Menge M, die reflexiv, symmetrisch und transitiv
MehrKapitel 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
MehrGrundbegriffe 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
MehrArbeiten mit Regulären Ausdrücken. Annette Gerstenberg Würzburg, 16. März 2016 Workshop "Digitale Methoden" beim Forum Junge Romanistik
Arbeiten mit Regulären Ausdrücken Annette Gerstenberg Würzburg, 16. März 2016 Workshop "Digitale Methoden" beim Forum Junge Romanistik Warum RegEx? Ziele! Beispiel 1: Bereinigen eines Transkripts, Entfernen
MehrC. Ortseifen: Reguläre Ausdrücke
Inhalt Reguläre Ausdrücke mit SAS Einsatz der RX- und PRX-Funktionen Dr. Carina Ortseifen SAS-Treff am URZ 2. Dezember 2005 1. Einleitung 2. Aufbau der regulären Ausdrücke 3. Beispiele 4. Reguläre Ausdrücke
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
Mehräußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:
3. Reguläre Sprachen Bisher wurden Automaten behandelt und Äquivalenzen zwischen den verschiedenen Automaten gezeigt. DEAs erkennen formale Sprachen. Gibt es formale Sprachen, die nicht erkannt werden?
MehrÜbungsaufgaben zu Formalen Sprachen und Automaten
Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel
MehrTheoretische Informatik. Alphabete, Worte, Sprachen
Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele
MehrÜbung zur Vorlesung Theoretische Information. Pumping Lemma
Übung zur Vorlesung Theoretische Information Pumping Lemma Folie Ein Endlicher Automat q q, q 2, Akzeptierte Sprache? Folie 2 Ein Endlicher Automat q q, q 2, Akzeptierte Sprache? Am Anfang eine, dannach
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/20 Überblick Speicher Bit und Byte Speicher als Tabellen
MehrFachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009
Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 Teil 5: Unix Shells Dr. Erwin Hoffmann E-Mail: unix@fehcom.de https://www.fehcom.net/unix/ Shell? Standardard-mässig führt Unix nach
MehrReguläre Ausdrücke. Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik
Reguläre Ausdrücke Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Sinn und Ziel Reguläre Ausdrücke sind eine Möglichkeit eine Menge von Strings aufgrund von gemeinsamen Merkmalen zu
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische
MehrC/C++ Programmierung
1 C/C++ Programmierung Grundlagen: Der Präprozessor Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Der Präprozessor
MehrTheoretische Informatik 2
Theoretische Informatik 2 Tutorium #1 18.4.2002 (Fabian Wleklinski) Reguläre Ausdrücke Unterschied zwischen leerer Sprache und Sprache aus leerem Wort! R 1 := L(R 1 )={} R 2 :=ε L(R 2 )={ε} In vielen Programmiersprachen:
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche
MehrCompilerbau I Sommersemester 2008
Fachbereich 12 Informatik und Elektrotechnik Programmiersprachen Kurt Sieber Benedikt Meurer Compilerbau I Sommersemester 2008 Übungsblatt 1 Aufgabe 1 Der erweiterte reguläre Ausdruck α{m, n erkennt zwischen
MehrProgrammieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Formale Sprachen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Formale Sprachen: Allgemeines Sprachen werden
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
Mehrb2boptic / SF7 Freiburg 22.10.2015
b2boptic / SF7 Freiburg 22.10.2015 Themen b2boptic im Web SF7 / LensCatalog Webservice b2boptic Forum 12 Jahre glaeserforum.de glaeserforum.de ist nun forum.b2boptic.com Über 400 angemeldete Benutzer 2000
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrGrafische 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
MehrSprachbeschreibung und Erweiterung
Sprachbeschreibung und Erweiterung Worte, Sprachen, reguläre Ausdrücke, Automaten, BNF, Grammatik, Syntax- Diagramme, Spracherweiterungen do, for, break, switch Formale Beschreibung von Programmiersprachen
Mehr7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103
Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 7 Endliche Automaten Ein erstes Beispiel Ganz im Sinn der vorangegangenen Kapitel machen wir wieder Anleihen in einem wohl etablierten Gebiet.
MehrÜbungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrHeiko Baur 10. November 2006
Reguläre Ausdrücke Heiko Baur http://www.belbardonisakel.de 10. November 2006 1 / 60 Begriffsdefinition Wildcards und reguläre Ausdrücke Zusammenfassung Teil I Einleitung 2 / 60 Begriffsdefinition Wildcards
MehrTypdeklarationen. Es gibt in Haskell bereits primitive Typen:
Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrReguläre Ausdrücke: Beschreibung und Anwendung
Reguläre Ausdrücke: und Anwendung Version 1.41 17.12.2014 Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Der Autor
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 2: Prädikatenkalkül erster Stufe Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. Oktober 2016 1/38 DIE INTERPRETATION
MehrShellprogrammierung. Einführung in Linux. Antonia Blanke. Operatoren Schleifen Case Funktionen Kommandos Signale Stringmanipulation
Einführung in Linux Antonia Blanke :Zuweisung,Arithmetisch,Bitweise Logische Andere Die Bash stellt verschiedene zur Verfügung Zuweisungsoperatoren Arithmetische Bitweise Logische Andere :Zuweisung,Arithmetisch,Bitweise
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
MehrTutorium Reguläre Ausdrücke/Code Munger
Tutorium Reguläre Ausdrücke/Code Munger (Version 1.2 vom 14.3.2014) Einleitung Mit reguläre Ausdrücken lassen sich Mengen von Zeichenketten beschreiben. Diese Beschreibungen werden dann zum Beispiel zur
MehrKapitel 4: Syntaxdiagramme und Grammatikregeln
4. Syntaxdiagramme und Grammatikregeln 4-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 4: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische
MehrFormale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.
Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen
MehrVisualBasic - Variablen
Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt
MehrThomas Behr. 17. November 2011
in in Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 17. November 2011 c 2011 FernUniversität in Hagen Outline in 1 2 3 4 5 6 - Was ist das? in über
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 4: Nichtdeterminismus Teil 2 schulz@eprover.org Software Systems Engineering Nichtdeterministische endliche Automaten Definition: Ein nichtdeterministischer
MehrKontextfreie Grammatiken
Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt
MehrEinfü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 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm
Mehr3. Grundlegende Begriffe von Logiken - Aussagenlogik
3. Grundlegende Begriffe von Logiken - Aussagenlogik Wichtige Konzepte und Begriffe in Logiken: Syntax (Signatur, Term, Formel,... ): Festlegung, welche syntaktischen Gebilde als Formeln (Aussagen, Sätze,
MehrGrammatik 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
MehrFormale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S
Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche
Mehr