TU Wien:Formale Modellierung VU (Salzer)/Kapitel Formale Sprachen und Grammatiken

Aus VoWi
Zur Navigation springen Zur Suche springen

Reguläre Sprachen[Bearbeiten | Quelltext bearbeiten]

Operationen auf formalen Sprachen[Bearbeiten | Quelltext bearbeiten]

Seien zwei Sprachen.

Vereinigung
Verkettung
Potenzen
Kleene-Stern

Definition regulärer Sprachen[Bearbeiten | Quelltext bearbeiten]

Reguläre Sprachen sind alle Sprachen, die aus einem Alphabet mit Hilfe von Vereinigung, Verkettung und Stern gebildet werden können.

Reguläre Ausdrücke[Bearbeiten | Quelltext bearbeiten]

  • algebraische Notation
Operatorrangfolge (absteigend): *, +
  • EBNF-Notation
  • Syntaxdiagramme
Reg. Sprache Algebra EBNF Syntaxdiagramm
Abkürzung

─>A─>

Leersprache
Leerwortsprache
───────>
Terminalsymbol "s" ─>s─>
Aufeinanderfolge ─> X ─> Y ─>
Alternativen
 ╭─> X ─╮
─┤      ├─>
 ╰─> Y ─╯
Option
 ╭─────╮
 │     v
─┴─ X ───>
Wiederholung ≥ 0
 ╭─ X <─╮
 v      │
────────┴─>
Wiederholung ≥ 1
 ╭──────╮
 v      │
─── X ──┴─>
Gruppierung
  • Posix Extended Regular Expressions (ERE)

Eigenschaften regulärer Sprachen[Bearbeiten | Quelltext bearbeiten]

Nicht regulär sind Sprachen, deren Analyse ein unbegrenztes Gedächtnis erfordert.

Vom regulären Ausdruck zum Automaten[Bearbeiten | Quelltext bearbeiten]

Vom Automaten zum regulären Ausdruck[Bearbeiten | Quelltext bearbeiten]

Verallgemeinerter endlicher Automat

  • keine Übergänge in den Anfangszustand
  • nur ein Endzustand, der nicht Anfangszustand ist
  • keine Übergänge weg vom Endzustand
  • nur ein Übergang zwischen je zwei Zuständen
  • Übergänge beschriftet mit regulären Ausdrücken

Kontextfreie Grammatiken[Bearbeiten | Quelltext bearbeiten]

  • ... Nonterminalsymbole (Variablen)
  • ... Terminalsymbole
  • ... Produktionen
  • ... Startsymbol
  • andere Notationen
    • Backus-Naur-Form (BNF)
    • Erweiterte Backus-Naur-Form (EBNF)
    • Syntaxdiagramme