www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Formale Sprachen" - Regulärer Ausdruck
Regulärer Ausdruck < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Regulärer Ausdruck: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:47 Fr 30.05.2008
Autor: jumpbayern

Aufgabe
Geben sie die entsprechende Sprache L(R) an und eine entsprechende Typ 3 Grammatik.

R := SZ(epsilon|(.Z))(epsilon|((E|e)SZ)), wobei
S := (epsilon|+|-)
Z := zz*
z := (0|1|2|3|4|5|6|7|8|9)

dabei gilt: Sigma :={e,E,+,-,.,0,1,2,3,4,5,6,7,8,9}
Beispiele für Fließkommazahlen: 0.815, +47e11, -42.42E+42, 7


Kann mir jemand helfen, bzw erklären wie ich da vorgehen muss???

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Regulärer Ausdruck: Antwort
Status: (Antwort) fertig Status 
Datum: 18:12 Sa 31.05.2008
Autor: neuling_hier

Hallo,

Um L(R) anzugeben, musst Du Dir zunächst überlegen, was die einzelnen Nichtterminalsymbole der linken Regelseiten (also z, Z, S, R) erzeugen.

Offensichtlich gilt:

  z (= "Ziffer") erzeugt eine einzelne Ziffer von 0 bis 9
  Z (= "Zahl") erzeugt dann also eine positive ganze Zahl
    (d.h. nichtleere Folge von Ziffern)
  S (dürfte für "Sign" stehen) liefert ein Vorzeichen:
        -> entweder kein Vorzeichen (= "epsilon")
        -> oder Plus ("+")
        -> oder Minus ("-")
  R setzt "alles zusammen", d.h. erzeugt folgende Zeichenreihe:
        -> Zusammensetzen von S (Vorzeichen) und Z (Zahl)
        -> optional eine weitere positive ganze Zahl
           mit Komma getrennt anhängt
        -> optional eine weitere verzeichenbehaftete Zahl
           mit E oder e getrennt.

Also grob in Worten: L(R) enthält alle Fließkommazahlen in der Form, wie sie durch die Beispiele angegeben sind:

  0.815
  +47e11
  -42.42E+42
  7
  usw. ...

Es gibt verschiedene Möglichkeiten, einen regulären Ausdruck dafür zu erstellen.

Die (wie ich finde) unfangreichere, aber sicherere Methode ist das Zeichnen eines deterministischen endlichen Automaten, aus dem Du dann die regulären Ausdrücke der Zustände in Form eines Gleichungssystems bestimmst und letzteres unter Verwendung des Resolutionslemmas auflöst.

Ich weiß aber nicht, ob Ihr das in der Vorlesung behandelt habt.

Die zweite Möglichkeit ist, den Ausdruck "per Hand" zu erstellen. Dabei fängst Du mit den "atomaren" Ausdrücken an (leider schreibst Du nicht, in welcher Form ("Syntax") reguläre Ausdrücke in Deiner Vorlesung / im Skript definiert wurden, darum verwende ich die, die ich kenne).

Ein Ausdruck für Z wäre z.B.:

  $R(Z) = (0-9)^+$    (= nichtleere Folge von Ziffern aus 0 bis 9)
  oder $R(Z) = [mm] (0-9)(0-9)^\*$ [/mm] , je nach Syntax

Für S erhälst Du:

  $R(S) = (+|-)$

Nun hast Du reguläre Ausdrücke für Z und S. Damit erhälst Du für R:

  $R(S) = (+|-)(0-9)^+[.(0-9)]$ ... usw. (der Ausdruck ist nicht ganz vollständig, weil etwas Arbeit bleiben soll :-) )

Kommst Du damit weiter?

Viele Grüße,
neuling_hier

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]