Hi leute,
ich bin ein neuling im umgang mit c++
jetzt habe ich eine aufgabe wo ich nicht weiß wie ich den ansatz überhaupt machen soll.
Die Aufgabe ist es 5 Funktionen für eine Grammatiküberprüfung zu schreiben.
Folgende Informationen sind gegeben:
Regel: Number
Eine Number besteht entweder aus der Ziffer '0' oder der Ziffer '1'
oder … oder der Ziffer '9'.
Number ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'
Regel: Faktor
Ein Faktor besteht entweder aus einer Number, oder er besteht aus dem
Zeichen '(' gefolgt von einem Ausdruck gefolgt von dem Zeichen ')'.
Faktor ::= Number
| '(' Ausdruck ')'
Regel: Term
Ein Term besteht aus einem Faktor, gefolgt von keiner, einer oder
mehreren Wiederholungen einer Zeichenkette, die zuerst entweder aus
dem Zeichen '*' oder dem Zeichen '/' besteht und danach von einer
Zeichenkette gefolgt wird, die ebenso den Regeln für Faktor genügt. Die
(…) Klammern sind Teil der Grammatik, um zu klären, worauf sich die
„oder“ Operation | der Grammatik bezieht. Die geschweiften Klammern
bedeuten „keine, eine oder mehrere Wiederholungen“.
Term ::= Faktor { ( '*' | '/' ) Faktor }
Regel: Ausdruck
Ein Ausdruck besteht aus einem Term, gefolgt von keiner, einer oder
mehreren Wiederholungen einer Zeichenkette, die zuerst entweder aus
dem Zeichen '+' oder dem Zeichen '-' besteht und danach von einer
Zeichenkette gefolgt wird, die ebenso den Regeln für Term genügt.
Ausdruck ::= Term { ( '+' | '-' ) Term }
Regel: Gesamtausdruck
Ein Gesamtausdruck besteht aus einem Ausdruck, gefolgt von dem
Zeichen '.'.
Gesamtausdruck ::= Ausdruck '.'
Damit sieht unsere Grammatik für gültige Gesamtausdrücke wie folgt
aus:
Gesamtausdruck ::= Ausdruck '.'
Ausdruck ::= Term { ( '+' | '-' ) Term }
Term ::= Faktor { ( '*' | '/' ) Faktor }
Faktor ::= Number
| '(' Ausdruck ')'
Number ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'
Hoffe ihr könnt mir helfen^^
ich bin ein neuling im umgang mit c++
jetzt habe ich eine aufgabe wo ich nicht weiß wie ich den ansatz überhaupt machen soll.
Die Aufgabe ist es 5 Funktionen für eine Grammatiküberprüfung zu schreiben.
Folgende Informationen sind gegeben:
Regel: Number
Eine Number besteht entweder aus der Ziffer '0' oder der Ziffer '1'
oder … oder der Ziffer '9'.
Number ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'
Regel: Faktor
Ein Faktor besteht entweder aus einer Number, oder er besteht aus dem
Zeichen '(' gefolgt von einem Ausdruck gefolgt von dem Zeichen ')'.
Faktor ::= Number
| '(' Ausdruck ')'
Regel: Term
Ein Term besteht aus einem Faktor, gefolgt von keiner, einer oder
mehreren Wiederholungen einer Zeichenkette, die zuerst entweder aus
dem Zeichen '*' oder dem Zeichen '/' besteht und danach von einer
Zeichenkette gefolgt wird, die ebenso den Regeln für Faktor genügt. Die
(…) Klammern sind Teil der Grammatik, um zu klären, worauf sich die
„oder“ Operation | der Grammatik bezieht. Die geschweiften Klammern
bedeuten „keine, eine oder mehrere Wiederholungen“.
Term ::= Faktor { ( '*' | '/' ) Faktor }
Regel: Ausdruck
Ein Ausdruck besteht aus einem Term, gefolgt von keiner, einer oder
mehreren Wiederholungen einer Zeichenkette, die zuerst entweder aus
dem Zeichen '+' oder dem Zeichen '-' besteht und danach von einer
Zeichenkette gefolgt wird, die ebenso den Regeln für Term genügt.
Ausdruck ::= Term { ( '+' | '-' ) Term }
Regel: Gesamtausdruck
Ein Gesamtausdruck besteht aus einem Ausdruck, gefolgt von dem
Zeichen '.'.
Gesamtausdruck ::= Ausdruck '.'
Damit sieht unsere Grammatik für gültige Gesamtausdrücke wie folgt
aus:
Gesamtausdruck ::= Ausdruck '.'
Ausdruck ::= Term { ( '+' | '-' ) Term }
Term ::= Faktor { ( '*' | '/' ) Faktor }
Faktor ::= Number
| '(' Ausdruck ')'
Number ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'
Hoffe ihr könnt mir helfen^^