Hallo, ich habe ein Problem mit der Überführung der BNF X::=bX|A A::=aa in das dazugehörigr Syntaxdiagramm. Für mich ist Überführung eine ODERverknüpfung in der Form X::= bX|aa und die syntaktisch korrekten Worte von X sind:aa und bX. Ist aber wahrscheinlich nicht richtig, über das richtige Ergebnis wäre ich euch dankbar. Gruß A.L.
Gast
#900371
@ Andre
Entschuldige, aber ich verstehe Dein Problem nicht ganz.
>Für mich ist Überführung eine ODERverknüpfung
Was soll das bedeuten?
Du hast aber soweit richtig erkannt, das die Syntaxen (ist das die
Mehrzahl oder gibt es davon keine ?)
X::=bX|A
A::=aa
und
X::= bX|aa
äquivalent sind.
War das Deine Frage?
Gast
#900378
Hinweis: Oder-Verknüpfungen (bX|A) erscheinen im Syntaxdiagramm als Verzweigung, Anfangs- und Endrekursionen (X::=bX) als Schleife. Damit hast du schon fast die Lösung ;-)
Also, die Frage ist eine Prüfungsfrage! Sie lautet genau: Geeben sie 3 syntaktisch korrekte Worte der Sprache X an und stellen sie a in einem Syntaxdiagramm dar! Frage an yalu: Wenn die Verknüpfung geklammert wird (bX|A)bekommt sie da nicht eine andere Bedeutung?
Gast
#900928
Die Klammern dienen nur zur Gruppierung der Teilausdrücke. Beispiel.:
a|bc liefert die Worte a und bc, da das | schwächer bindet als
die Verkettung von b und c
(a|b)c liefert die Worte ac und bc
Wenn die Klammern aber ganz außen stehen (wie in (bx|A)), kann man sie
genauso gut weglassen.
Nochmal zum Anfang zurück:
> und die syntaktisch korrekten Worte von X sind:aa und bX.
X ist ein Nichtterminal, kann also in keinem Wort vorkommen.
Vielleicht hilft dir die Überführung in eine Regexp (b*aa), wenn du
deren mächtig bist, die Grammatik zu verstehen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.