Grundbegriffe der Informatik



Ähnliche Dokumente
Grundbegriffe der Informatik

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Theoretische Informatik I

Grundlagen der Theoretischen Informatik, SoSe 2008

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Programmiersprachen und Übersetzer

Grammatiken. Einführung

Grundbegriffe der Informatik

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Theoretische Grundlagen der Informatik

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundbegriffe der Informatik

Theorie der Informatik

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Grundbegriffe der Informatik

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Grundlagen der Theoretischen Informatik

1 Mathematische Grundlagen

Primzahlen und RSA-Verschlüsselung

Zeichen bei Zahlen entschlüsseln

Beweisbar sichere Verschlüsselung

Was meinen die Leute eigentlich mit: Grexit?

Lichtbrechung an Linsen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Informationsblatt Induktionsbeweis

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Mathematischer Vorbereitungskurs für Ökonomen

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Formale Sprachen und Grammatiken

15 R E G U L Ä R E AU S D R Ü C K E U N D R E C H T S L I N E A R E G R A M M AT I K E N

2.11 Kontextfreie Grammatiken und Parsebäume

Was ist Sozial-Raum-Orientierung?

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Statuten in leichter Sprache

Mathematische Grundlagen der Informatik 2

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

7 Rechnen mit Polynomen

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Data Mining: Einige Grundlagen aus der Stochastik

Der Gabelstapler: Wie? Was? Wer? Wo?

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Repetitionsaufgaben Wurzelgleichungen

Grundbegriffe der Informatik

19 R E G U L Ä R E AU S D R Ü C K E U N D R E C H T S L I N E A R E G R A M M AT I K E N

Das Leitbild vom Verein WIR

Einführung in. Logische Schaltungen

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Professionelle Seminare im Bereich MS-Office

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Theoretische Informatik SS 04 Übung 1

Die Wirtschaftskrise aus Sicht der Kinder

Die Post hat eine Umfrage gemacht

Erstellen von x-y-diagrammen in OpenOffice.calc

4. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 8 Saison 1964/1965 Aufgaben und Lösungen

Anleitung über den Umgang mit Schildern

Wir machen neue Politik für Baden-Württemberg

Deutsches Rotes Kreuz. Kopfschmerztagebuch von:

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Alle gehören dazu. Vorwort

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Wortproblem für kontextfreie Grammatiken

Leichte-Sprache-Bilder

Was bisher geschah: Formale Sprachen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Erfahrungen mit Hartz IV- Empfängern

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Algorithmische Kryptographie

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Zwischenablage (Bilder, Texte,...)

Anleitung zur Erstellung und Bearbeitung von Seiten in Typo3. Typo3. Anleitung. Wenpas Informatik

Mächtigkeit von WHILE-Programmen

Speicher in der Cloud

Strom in unserem Alltag

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

9. Übung Formale Grundlagen der Informatik

Erstellen einer digitalen Signatur für Adobe-Formulare

Hinweise in Leichter Sprache zum Vertrag über das Betreute Wohnen

Ziel: Abfrage von Vorwissen oder Überprüfung des vermittelten Wissens. Teilweise sind Mehrfachnennungen möglich.

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Grundlagen der Künstlichen Intelligenz

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

WS 2008/09. Diskrete Strukturen

Die Bundes-Zentrale für politische Bildung stellt sich vor

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Konzepte der Informatik

teamsync Kurzanleitung

DER SELBST-CHECK FÜR IHR PROJEKT

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Transkript:

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 Akzeptoren? manche Sprachen kann man mit endlichen Akzeptoren erkennen z. B. {a} + {b} {b} + {a} manche Sprachen nicht z. B. {a k b k k N 0 } Charakterisierung der erkennbaren Sprachen? i. e. Beschreibung ohne Benutzung endlicher Akzeptoren 2/25

Überblick Reguläre Ausdrücke Rechtslineare Grammatiken Überblick 3/25

Überblick Reguläre Ausdrücke Rechtslineare Grammatiken Reguläre Ausdrücke 4/25

Zum Begriff regulärer Ausdruck Ursprung: Stephen Kleene: Representation of Events in Nerve Nets and Finite Automata, in: Shannon, McCarthy, Ashby (eds.): Automata Studies, 1956 heute: verschiedene Bedeutungen in dieser Vorlesung: die klassische Definition Verallgemeinerung: regular expressions sehr nützlich verschiedene Varianten (bei Syntax, bei Semantik) emacs, grep, sed,... Java (java.util.regex), Python, Perl,... Reguläre Ausdrücke 5/25

Definition regulärer Ausdrücke (1) sei Z das Alphabet Z = {, (, ), *, O/} sei A ein Alphabet, das kein Zeichen aus Z enthält regulärer Ausdruck über A ist eine Zeichenfolge über dem Alphabet A Z, die gewissen Vorschriften genügt. Menge der regulären Ausdrücke ist wie folgt festgelegt: O/ ist ein regulärer Ausdruck. Für jedes a A ist a ein regulärer Ausdruck. Wenn R1 und R 2 reguläre Ausdrücke sind, dann sind auch (R 1 R 2 ) und (R 1 R 2 ) reguläre Ausdrücke. Wenn R ein regulärer Ausdruck ist, dann auch (R*). Nichts anderes sind reguläre Ausdrücke. Reguläre Ausdrücke 6/25

Klammereinsparungsregeln Stern- vor Punktrechnung Punkt- vor Strichrechnung Beispiel: R 1 R 2 R 3 * ist als (R 1 (R 2 (R 3 *))) zu verstehen. Bei mehreren gleichen binären Operatoren gilt das als links geklammert Beispiel R 1 R 2 R 3 ist als ((R 1 R 2 ) R 3 ) zu verstehen. Reguläre Ausdrücke 7/25

Beispiele O/ 0 1 (01) ((01)0) (((01)0)0) ((01)(00)) (O/ 1) (0 1) ((0(0 1)) 1) (0 (1 (0 0))) (O/*) (0*) ((10)(1*)) (((10)1)*) ((0*)*) (((((01)1)*)*) (O/*)) Mit Klammereinsparungsregeln: 01 010 0100 01(00) O/ 1 0 1 0(0 1) 1 (0 (1 (0 0))) O/* 0* 101* (101)* 0** (011)** O/* Reguläre Ausdrücke 8/25

Nichtbeispiele keine regulären Ausdrücke über {0, 1}: ( 1) vor fehlt ein regulärer Ausdruck O/ vor und hinter fehlt je ein regulärer Ausdruck ()01 zwischen ( und ) fehlt ein regulärer Ausdruck ((01) Klammern müssen gepaart auftreten *(01) vor * fehlt ein regulärer Ausdruck 2* 2 ist nicht Zeichen des Alphabetes Reguläre Ausdrücke 9/25

Definition regulärer Ausdrücke (2) alternative Formulierung mit Hilfe einer kontextfreien Grammatik reguläre Ausdrücke über Alphabet A sind die Wörter, die von der folgenden Grammatik erzeugt werden: G = ({R}, {, (, ), *, O/} A, R, P) und P = {R O/, R (R R), R (RR), R (R*)} {R a a A} Reguläre Ausdrücke 10/25

Beschriebene formale Sprache Die von einem regulären Ausdruck R beschriebene formale Sprache R ist wie folgt definiert: O/ = {} (d. h. die leere Menge). Für a A ist a = {a}. Sind R 1 und R 2 reguläre Ausdrücke, so ist R 1 R 2 = R 1 R 2. Sind R 1 und R 2 reguläre Ausdrücke, so ist R 1 R 2 = R 1 R 2. Ist R ein regulärer Ausdruck, so ist R* = R. die Definition folgt der für reguläre Ausdrücke Reguläre Ausdrücke 11/25

Beschriebene formale Sprache Die von einem regulären Ausdruck R beschriebene formale Sprache R ist wie folgt definiert: O/ = {} (d. h. die leere Menge). Für a A ist a = {a}. Sind R 1 und R 2 reguläre Ausdrücke, so ist R 1 R 2 = R 1 R 2. Sind R 1 und R 2 reguläre Ausdrücke, so ist R 1 R 2 = R 1 R 2. Ist R ein regulärer Ausdruck, so ist R* = R. die Definition folgt der für reguläre Ausdrücke Reguläre Ausdrücke 11/25

Beispiele für R Betrachten wir drei einfache Beispiele: R = a b: Dann ist R = a b = a b = {a} {b} = {a, b}. R = (a b)*: Dann ist R = (a b)* = a b = {a, b}. R = (a*b*)*: Dann ist R = (a*b*)* = a*b* = ( a* b* ) = ( a b ) = ({a} {b} ). Nachdenken: ({a} {b} ) = {a, b} Reguläre Ausdrücke 12/25

Beispiele für R Betrachten wir drei einfache Beispiele: R = a b: Dann ist R = a b = a b = {a} {b} = {a, b}. R = (a b)*: Dann ist R = (a b)* = a b = {a, b}. R = (a*b*)*: Dann ist R = (a*b*)* = a*b* = ( a* b* ) = ( a b ) = ({a} {b} ). Nachdenken: ({a} {b} ) = {a, b} Reguläre Ausdrücke 12/25

Beispiele für R Betrachten wir drei einfache Beispiele: R = a b: Dann ist R = a b = a b = {a} {b} = {a, b}. R = (a b)*: Dann ist R = (a b)* = a b = {a, b}. R = (a*b*)*: Dann ist R = (a*b*)* = a*b* = ( a* b* ) = ( a b ) = ({a} {b} ). Nachdenken: ({a} {b} ) = {a, b} Reguläre Ausdrücke 12/25

Beispiele für R Betrachten wir drei einfache Beispiele: R = a b: Dann ist R = a b = a b = {a} {b} = {a, b}. R = (a b)*: Dann ist R = (a b)* = a b = {a, b}. R = (a*b*)*: Dann ist R = (a*b*)* = a*b* = ( a* b* ) = ( a b ) = ({a} {b} ). Nachdenken: ({a} {b} ) = {a, b} Reguläre Ausdrücke 12/25

Wie ist das denn eigentlich? Kann man allgemein von regulären Ausdrücken R 1, R 2 feststellen, ob R 1 = R 2 ist? Geht das algorithmisch? Welche formalen Sprachen sind denn durch reguläre Ausdrücke beschreibbar? Reguläre Ausdrücke 13/25

Äquivalenz regulärer Ausdrücke Es gibt Algorithmen, um für reguläre Ausdrücken R 1, R 2 festzustellen, ob R 1 = R 2 ist sogar konzeptionell ziemlich einfache Aber: Dieses Problem ist PSPACE-vollständig. Definition: siehe nächste Einheit d. h. jedenfalls: alle bisher bekannten (!) Algorithmen sind im allgemeinen sehr sehr sehr langsam, Laufzeit z. B. 2 n2... Man weiß nicht, ob es vielleicht doch Algorithmen mit polynomieller Laufzeit für das Problem gibt, aber man sie nur noch nicht gefunden hat. Reguläre Ausdrücke 14/25

Charakterisierungen Satz Für jede formale Sprache L sind die folgenden drei Aussagen äquivalent: 1. L kann von einem endlichen Akzeptor erkannt werden. 2. L kann durch einen regulären Ausdruck beschrieben werden. 3. L kann von einer rechtslinearen Grammatik erzeugt werden. rechtslineare Grammatiken kommen gleich Eine formale Sprache, die die Eigenschaften des Satzes hat, heißt reguläre Sprache. Jede rechtslineare Grammatik ist eine kontextfreie Grammatik, also ist jede reguläre Sprache eine kontextfreie Sprache, aber nicht umgekehrt, wie man z. B. an {a k b k k N 0 } sieht. Reguläre Ausdrücke 15/25

Charakterisierungen Satz Für jede formale Sprache L sind die folgenden drei Aussagen äquivalent: 1. L kann von einem endlichen Akzeptor erkannt werden. 2. L kann durch einen regulären Ausdruck beschrieben werden. 3. L kann von einer rechtslinearen Grammatik erzeugt werden. rechtslineare Grammatiken kommen gleich Eine formale Sprache, die die Eigenschaften des Satzes hat, heißt reguläre Sprache. Jede rechtslineare Grammatik ist eine kontextfreie Grammatik, also ist jede reguläre Sprache eine kontextfreie Sprache, aber nicht umgekehrt, wie man z. B. an {a k b k k N 0 } sieht. Reguläre Ausdrücke 15/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall Kernidee: R i,0,j = reg. Aus. für {x X f (z i, x) = z j } { {ε} falls i = j {} falls i j R i,k,j = (R i,k 1,j (R i,k 1,k 1 (R k 1,k 1,k 1 )* R k 1,k 1,j )) zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht Idee: z. B. für (R 1 R 2 ) gegeben G 1 = (N 1, T 1, X 1, P 1 ) für R 1 gegeben G2 = (N 2, T 2, X 2, P 2 ) für R 2 mit N 1 N 2 = G = ({X0 } N 1 N 2, T 1 T 2, X 0, {X 0 X 1 X 2 } P 1 P 2 ) Grammatik für (R 1 R 2 ) (mit neuem X 0 / N 1 N 2 ) zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Zum Beweis des Satzes konstruktiv: zu gegebenem endlichen Akzeptor A ein regulärer Ausdruck R mit R = L(A) mittel schwer, z. B. inspiriert vom Algorithmus von Warshall zu gegebenem regulären Ausdruck R eine rechtslineare Grammatik G mit L(G) = R : relativ leicht zu gegebener rechtslinearer Grammatik G ein endlicher Akzeptor A mit L(A) = L(G): am schwierigsten beachte: für die umgekehrten Richtungen braucht man keine expliziten Konstruktionen Reguläre Ausdrücke 16/25

Was ist wichtig Das sollten Sie mitnehmen: Definition klassischer regulärer Ausdrücke atomare: O/ a A zusammengesetzte: (R 1 R 2) (R 1R 2) (R)* wissen: reguläre Ausdrücke und die Verallgemeinerung Regular Expressions sind z. B. bei Textverarbeitungsaufgaben manchmal nützlich Das sollten Sie üben: zu L ein R mit R = L konstruieren zu R das R bestimmen Reguläre Ausdrücke 17/25

Überblick Reguläre Ausdrücke Rechtslineare Grammatiken Rechtslineare Grammatiken 18/25

Motivation Mit kontextfreien Grammatiken kann man jedenfalls zum Teil andere formale Sprachen erzeugen, als man mit endlichen Akzeptoren erkennen kann. Beispiel: G = ({X }, {a, b}, X, {X ax b ε}) erzeugt {a k b k k N 0 } und diese Sprache ist nicht regulär. Kann man kontextfreie Grammatiken so einschränken, dass sie zu endlichen Akzeptoren passen? Rechtslineare Grammatiken 19/25

Rechtslineare Grammatiken: Definition Eine rechtslineare Grammatik ist eine kontextfreie Grammatik G = (N, T, S, P), die der folgenden Einschränkung genügt: Jede Produktion ist entweder von der Form X w mit w T oder von der Form X wy mit w T und X, Y N. Auf der rechten Seite einer Produktion darf also höchstens ein Nichterminalsymbol vorkommen, und wenn dann nur als letztes Symbol. Rechtslineare Grammatiken 20/25

Rechtslineare Grammatiken: Beispiel G = ({X }, {a, b}, X, {X abx bbax ε} L(G) = (ab bba)* Rechtslineare Grammatiken 21/25

Rechtslineare Grammatiken: Nichtbeispiel G = ({X }, {a, b}, X, {X ax b ε}) ist nicht rechtslinear, denn in X ax b steht das Nichtterminalsymbol X nicht am rechten Ende. Da die erzeugte formale Sprache nicht regulär ist, kann es auch gar keine rechtslineare Grammatik geben, die {a k b k k N 0 } erzeugt. Rechtslineare Grammatiken 22/25

Sprechweisen Rechtslineare Grammatiken heißen auch Typ-3-Grammatiken. Kontextfreien Grammatiken heißen auch Typ-2-Grammatiken. Man ahnt schon: Es gibt auch noch Typ-1-Grammatiken und Typ-0-Grammatiken, die wir hier nicht weiter betrachten werden. Wenn für ein i {0, 1, 2, 3} eine formale Sprache L von einer Typ-i-Grammatik erzeugt wird, dann sagt man auch, L sei eine Typ-i-Sprache oder kurz vom Typ i. Rechtslineare Grammatiken 23/25

Sprechweisen Rechtslineare Grammatiken heißen auch Typ-3-Grammatiken. Kontextfreien Grammatiken heißen auch Typ-2-Grammatiken. Man ahnt schon: Es gibt auch noch Typ-1-Grammatiken und Typ-0-Grammatiken, die wir hier nicht weiter betrachten werden. Wenn für ein i {0, 1, 2, 3} eine formale Sprache L von einer Typ-i-Grammatik erzeugt wird, dann sagt man auch, L sei eine Typ-i-Sprache oder kurz vom Typ i. Rechtslineare Grammatiken 23/25

Sprechweisen Rechtslineare Grammatiken heißen auch Typ-3-Grammatiken. Kontextfreien Grammatiken heißen auch Typ-2-Grammatiken. Man ahnt schon: Es gibt auch noch Typ-1-Grammatiken und Typ-0-Grammatiken, die wir hier nicht weiter betrachten werden. Wenn für ein i {0, 1, 2, 3} eine formale Sprache L von einer Typ-i-Grammatik erzeugt wird, dann sagt man auch, L sei eine Typ-i-Sprache oder kurz vom Typ i. Rechtslineare Grammatiken 23/25

Sprechweisen Rechtslineare Grammatiken heißen auch Typ-3-Grammatiken. Kontextfreien Grammatiken heißen auch Typ-2-Grammatiken. Man ahnt schon: Es gibt auch noch Typ-1-Grammatiken und Typ-0-Grammatiken, die wir hier nicht weiter betrachten werden. Wenn für ein i {0, 1, 2, 3} eine formale Sprache L von einer Typ-i-Grammatik erzeugt wird, dann sagt man auch, L sei eine Typ-i-Sprache oder kurz vom Typ i. Rechtslineare Grammatiken 23/25

Was ist wichtig Das sollten Sie mitnehmen: Definition rechtslineare Grammatiken Das sollten Sie üben: rechtslineare Grammatiken konstruieren (zu gegebenem Akzeptor, regulären Ausdruck, formaler Sprache) Rechtslineare Grammatiken 24/25

Zusammenfassung reguläre Ausdrücke werden von diversen Unix-Tools genutzt in manchen Programmiersprachen zur Textverarbeitung praktisch rechtslineare Grammatiken Zusammenfassung 25/25