Kann mir jemand beantworten, wie ich eine EBNF erstelle, die beliebige Binärzahlen erzeugt. Es sollen zudem keine führenden Nullen erlaubt sein?
Die Frage stammt aus einer Informatikklausur.
Wir haben das Thema leider nicht so gut durchgenommen und Lösungen gibt es dazu auch nicht.
Es soll eine Grammatik (EBNF) erstellt werden, die beliebige Binärzahlen erzeugen kann ohne führende Nullen.
2 Antworten
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Informatik
bindigit= "1" | "0" ;
num = "1" ,{bindigit} ;
Müßte eigentlich schon reichen.
Nachtrag: Hatte die Semikola vergessen.
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
KarlRanseierIII
03.02.2020, 17:53
@katrinl767
Bei der EBNF bedeutet {} keine oder beliebig viele Wiederholungen, wäre also der Abschluß nach Kleen in regulären Sprachen. Die positive Hülle (+) ist üblicherweise [] in der EBNF.
Ich kann allerdings nicht sagen, ob ihr die EBNF nach ISO-Standard nutzt.
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Informatik
S-> 1B | [Epsilon]
B-> 1B | 0B | [Epsilon];
Sollte funktionieren, wnen cih keinen Fehler gemacht habe.
[Epsilon] ist das leere Wort.
Woher ich das weiß:Studium / Ausbildung
Danke! Woran kann ich sehen, dass ich die Zahl dann beliebig lang werden kann?