Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Algorithmen (http://www.informatikerboard.de/board/board.php?boardid=17)
----- Wie aus dieser BNF-Grammatik den eingangs genannten Pseudo-Co de mit einem Ableitungsbaum ableiten? (http://www.informatikerboard.de/board/thread.php?threadid=3542)


Geschrieben von dreamz am 20.04.2017 um 12:31:

  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".


Forensoftware: Burning Board, entwickelt von WoltLab GmbH