BNF-Satzform < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Aufgabe | [Dateianhang nicht öffentlich] |
Hallo!
Teilaufgabe (a) müsste ich soweit vollständig und richtig haben:
<Ausdruck> ::=
<Zahl> |
<Ausdruck> (+ | - | * | /) <Ausdruck> |
( <Ausdruck> )
<Zahl> ::= (<Ziffer> (<Ziffer> | 0 )* ) | 0
<Ziffer> ::= 1|2|3|4|5|6|7|8|9
Aber wie gehe ich bei Teilaufgabe (b) vor...?
Wäre das eine konkrete Zahl wäre es für mich sehr leicht, aber das Problem für mich besteht darin, wie ich die runden Klammern in die Ableitung bringe?
Vielen Dank!
Dateianhänge: Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 04:47 Di 10.11.2009 | Autor: | felixf |
Hallo!
> Teilaufgabe (a) müsste ich soweit vollständig und richtig
> haben:
>
> <Ausdruck> ::=
> <Zahl> |
> <Ausdruck> (+ | - | * | /) <Ausdruck> |
> ( <Ausdruck> )
> <Zahl> ::= (<Ziffer> (<Ziffer> | 0 )* ) | 0
Hier hast du ein Problem: die Klammern "(" und ")" werden hier doppelt benutzt: einmal als Zeichen, die im Text vorkommen sollen, und dann um einen "Block" in der BNF-Grammatik anzuzeigen. Die Klammern beim "( <Ausdruck> )" solltest du in Anfuehrungszeichen setzen, um solche Missverstaendnisse zu vermeiden.
> <Ziffer> ::= 1|2|3|4|5|6|7|8|9
Ganz spitzfindige Leute koennen nun noch einwenden, dass Zahlen auch mit 0 anfangen koennen gefolgt von weiteren Ziffern, etwa 01234. Das wird von deiner Grammatik nicht abgedeckt.
> Aber wie gehe ich bei Teilaufgabe (b) vor...?
>
> Wäre das eine konkrete Zahl wäre es für mich sehr
> leicht, aber das Problem für mich besteht darin, wie ich
> die runden Klammern in die Ableitung bringe?
Da ist jetzt ein wenig die Frage, wierum ihr das aufschreibt. Ich wuerde spontan sowas wie
<Ausdruck>
<Ausdruck> + <Ausdruck>
(<Ausdruck>) + <Ausdruck>
(<Ausdruck> * <Ausdruck>) + <Ausdruck>
((<Ausdruck>) * <Ausdruck>) + <Ausdruck>
...
hinschreiben. Wie du etwa die Zahlen genau ableitest weiss ich grad nicht, habt ihr dazu in der VL eventuell Beispiele (gerade wenn im Ausdruck der Sternoperator vorkommt)?
LG Felix
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:20 Di 10.11.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|