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 L,L′⊂Σ∗ zwei Sprachen.

Vereinigung
L∪L′={w∣w∈L∨w∈L′}
Verkettung
L⋅L′={w⋅w′∣w∈L,w′∈L′}
Potenzen
L0={ϵ}
Ln+1=L⋅Ln(n≥0)
L+=⋃n≥1Ln
Kleene-Stern
L∗=⋃n≥0Ln=L0∪L+={ϵ}∪L+

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 A A

─>A─>

Leersprache {} ∅
Leerwortsprache {ϵ} ϵ
───────>
Terminalsymbol {s} s "s" ─>s─>
Aufeinanderfolge X⋅Y XY XY ─> X ─> Y ─>
Alternativen X∪Y X+Y X|Y
 ╭─> X ─╮
─┤      ├─>
 ╰─> Y ─╯
Option {ϵ}∪X ϵ+X [X]
 ╭─────╮
 │     v
─┴─ X ───>
Wiederholung ≥ 0 X∗ X∗ {X}
 ╭─ X <─╮
 v      │
────────┴─>
Wiederholung ≥ 1 X+ XX∗,X+ X{X}
 ╭──────╮
 v      │
─── X ──┴─>
Gruppierung (X) (X) (X)
  • 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]

G=⟨V,T,P,S⟩

  • V ... Nonterminalsymbole (Variablen)
  • T ... Terminalsymbole
  • P⊆V×(V∪T)∗ ... Produktionen
  • S∈V ... Startsymbol
  • andere Notationen
    • Backus-Naur-Form (BNF)
    • Erweiterte Backus-Naur-Form (EBNF)
    • Syntaxdiagramme