Habe Probleme mit der Backus-Naur-Form ( BNF )



  • Hi also ich bin gerade dabei an meiner Probeklausur für die kommenden Prüfung in Algorithmen & Datenstrukturen zu lernen. Mir graut am meisten vor dem Punkt formale Sprachen und Logik.

    Daher wollte ich fragen ob sich jemand hier mit der BNF Syntax auskennt...

    Einen Link zu der Aufgabe mit der ich nicht klarkomme hab ich beigefügt:

    https://imagizer.imageshack.us/v2/772x557q90/703/8m38.png

    Ich komme schon garnicht zu der letztendlichen Formel , die das Schema von einer der unteren Lösungen hat 😕

    MfG



  • Hallo,

    du mußt beim Startsymbol (<S>) starten und den Ausdruck linksrekursiv durchgehen.
    Daher sollte bei Aufgabe b die 2. Lösung richtig sein (und die unterste Zeile ist daher völliger Quatsch):
    Zuerst wird in der Startzeile zu <GZ> gesprungen, dort dann das optionale Minuszeichen überlesen und <Z-0> erfolgreich mit '7' geparst. Nun wird noch geschaut (in der <GZ>-Zeile) ob eine optionale Wiederholung von <Z> vorkommt. Da nicht (nämlich der Punkt) wird wieder zurück zu <S> gesprungen und nun der optionale Ausdruck mit dem Punkt analysiert. Dahinter ist nun noch die Wiederholung von <Z> und die '1' wird korrekt erkannt. Und da der Term nun zuende ist, wird das optionale [E] in der <S>-Zeile ignoriert. Fertig!

    Zum generellen Testen kann ich dir meinen EBNF Parser empfehlen (die Syntax ist zwar leicht anders als BNF, aber m.E. einfacher und besser).



  • Hallo kenyo,

    konnte ich dir mit meinem obigen Beitrag helfen? Wäre schön, wenn du Rückmeldung geben würdest...


Anmelden zum Antworten