www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 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" - EBNF und LL(*)-Grammatik
EBNF und LL(*)-Grammatik < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

EBNF und LL(*)-Grammatik: Erster Schritt
Status: (Frage) beantwortet Status 
Datum: 16:27 So 09.12.2012
Autor: DeRaaZuul

Aufgabe
Expr:: = Number OP Number OP Number
Number:: = (0..1)
OP:: = || | && | == | < | <= | + | - | * | /

Die Grammatik soll so geändert werden das Prioritäten und die Auswertung von links nach rechts berücksichtigt wird.

Dabei sind die Prioritätsstufen in absteigender Reihenfolge:
-Unäre Operatoren: - und !
-Multiplikative Operatoren: * und /
- Additive Operatoren: + und –
- Relationale Operatoren: ==, <= und <
- Konjunktion: &&
- Disjunktion: ||

Guten Tag,
ich habe leider keine Idee wie ich bei dieser Aufgabe überhaupt anfangen soll.
Meine erste Idee war für jeden Operator eine Expression zu schreiben und die Operator sind dabei geschachtelt, der Operator mit der niedrigsten Reihenfolge ist ganz oben in der Schachtelung. Die Idee hat aber zu keinen Erfolgt geführt.

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

        
Bezug
EBNF und LL(*)-Grammatik: Antwort
Status: (Antwort) fertig Status 
Datum: 17:06 So 09.12.2012
Autor: felixf

Moin!

> Expr:: = Number OP Number OP Number
>  Number:: = (0..1)
>  OP:: = || | && | == | < | <= | + | - | * | /
>  
> Die Grammatik soll so geändert werden das Prioritäten und
> die Auswertung von links nach rechts berücksichtigt wird.
>  
> Dabei sind die Prioritätsstufen in absteigender
> Reihenfolge:
>  -Unäre Operatoren: - und !
>  -Multiplikative Operatoren: * und /
>  - Additive Operatoren: + und –
>  - Relationale Operatoren: ==, <= und <
>  - Konjunktion: &&
>  - Disjunktion: ||
>  Guten Tag,
>  ich habe leider keine Idee wie ich bei dieser Aufgabe
> überhaupt anfangen soll.
>  Meine erste Idee war für jeden Operator eine Expression
> zu schreiben und die Operator sind dabei geschachtelt, der
> Operator mit der niedrigsten Reihenfolge ist ganz oben in
> der Schachtelung. Die Idee hat aber zu keinen Erfolgt
> geführt.

Ist aber schon ein guter Ansatz. Mach das jetzt mit Expression fuer jede Operatorgruppe mit der gleichen Prioritaet. Dann sollte es gehen.

Wenn nicht, schreib doch mal explizit auf was du hast, damit wir das besser kommentieren koennen.

LG Felix


Bezug
                
Bezug
EBNF und LL(*)-Grammatik: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:14 Mo 10.12.2012
Autor: DeRaaZuul

Hallo Felix, hier ist meine Idee, ich habe aber das Gefühl das die OP Reihenfolge hier nicht richtig bearbeitet wird wird:

UnaereOp : MultiOp ( ('-' | '!') MultiOp)*
MultiOp : AddOp ( ('*' | '/') AddOp)*
AddOp : RealaOp ( ('+' | '-' ) RealaOp)*
RealaOp : KonOp ( ('==' | '<=' | '>=' ) KonOp)*
KonOp : DisOp ( '&&' DisOp)*
DisOp : Atom ( '||' Atom)*
Atom : Number | UneareOp


Bezug
                        
Bezug
EBNF und LL(*)-Grammatik: Antwort
Status: (Antwort) fertig Status 
Datum: 22:00 Di 11.12.2012
Autor: felixf

Moin!

> Hallo Felix, hier ist meine Idee, ich habe aber das Gefühl
> das die OP Reihenfolge hier nicht richtig bearbeitet wird
> wird:

Da hast du Recht.

Deine Grammatik macht aber noch anderen Unsinn, z.B. akzeptiert sie "1!2".

> UnaereOp : MultiOp ( ('-' | '!') MultiOp)*
>  MultiOp : AddOp ( ('*' | '/') AddOp)*
>  AddOp : RealaOp ( ('+' | '-' ) RealaOp)*
>  RealaOp : KonOp ( ('==' | '<=' | '>=' ) KonOp)*
>  KonOp : DisOp ( '&&' DisOp)*
>  DisOp : Atom ( '||' Atom)*
>  Atom : Number | UneareOp

Womit faengt man denn an? Also was ist Expr?

Und warum kommt bei Atom "UnaereOp" vor? Allgemein scheint mir die Reihenfolge genau falsch herum.

LG Felix


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


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]