Frage:
Wir betrachten die Listensprache LIST (BIN) \( \subseteq \Sigma_{\text {ASCII }}^{*} \) aus Beispiel \( 3.7 \) der Vorlesung, die wie folgt rekursiv definiert ist:
- nil \( \in \) LIST (BIN) (die leere Liste),
- für alle \( v \in \) BIN und \( w \in \Sigma_{\mathrm{ASCII}}^{*} \) : Wenn \( w \in \operatorname{LIST} \) (BIN), dann \( \operatorname{cons}(v, w) \in \) LIST(BIN).
Hierbei ist BIN \( =\{0\} \cup\{1\}\{0,1\}^{*} \) (vgl. Beispiel \( 3.6 \) aus der Vorlesung). Zum Beispiel ist cons ( 11 , cons \( (0, \operatorname{cons}(110, \mathrm{nil}))) \in \operatorname{LIST} \) (BIN).
Geben Sie eine kontextfreie Grammatik an, die LIST(BIN) erzeugt.
Code:
\( \mathrm{L} \rightarrow \) nil \( \mid \operatorname{cons}(B, L) \)
\( B \rightarrow 0 \mid 1 B^{\prime} \)
\( B^{\prime} \rightarrow 1 \mid 0 \)
ist meine bisherige Lösung, aber ich kann damit z.B. nicht 110 erzeugen, kann mir jemand helfen?