Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Wie aus dieser BNF-Grammatik den eingangs genannten Pseudo-Co de mit einem Ableitungsbaum ableiten? » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Der letzte Beitrag
dreamz Wie aus dieser BNF-Grammatik den eingangs genannten Pseudo-Co de mit einem Ableitungsbaum ableiten?

Meine Frage:
Hallo,

ich verstehe nicht wie ich aus meiner bereits zuvor erstellten BNF (und auch EBNF) einen Ableitungsbaum erstellen soll. Kann mir einer vielleicht sagen wie ich nun vorgehen muss und wie ich meine BNF jetzt mit eindeutigen Nummern versehen soll?

Die Aufgabenstellung lautet wie folgt:

"Leiten Sie aus der BNF-Grammatik den eingangs genannten Pseudo-Code mit
einem Ableitungsbaum ab. Die Regeln 'aktion' und 'bedingung' dürfen vereinfacht
dargestellt werden, d.h. schreiben Sie hierfür einfach die benötigte Aktion
oder Bedingung hin."

Den vorgegebenen Pseudocode der Aufgabe habe ich hinzugefügt.
Ich hoffe ihr könnt mir helfen.
~ Grüße


Meine Ideen:
Die EBNF:

S -> Seq.
Seq -> {Anweisung";"""}^+.
Anweisung -> aktion|if|while.
if -> "i""f"""bedingung""then""Seq["e""l""s""e"Seq]"fi".
while -> "w""h""i""l""e"""bedingung""do"Seq"od".


Meine BNF sieht zu dieser Aufgabe so aus:

Seq -> Anweisung";""""seq.
Anweisung -> aktion|if|while.
if -> "i""f"""bedingung""then"Seq"fi".
if -> "i""f"""bedingung""then"Seq"e""l""s""e"Seq"fi".
while -> "w""h""i""l""e"""bedingung""do"Seq"od".

dreamz hat dieses Bild (verkleinerte Version) angehängt:
Aufgabe 3.png