Die Assoziativitätsrichtung von Operatoren in Java
Syntax
Wir hatten die Syntax von Multiplikativausdrücken bisher vereinfacht. Tatsächlich muß der erste Operand eines echten Multiplikativausdruck nicht unbedingt ein Vorzeichenausdruck sein, er darf auch ein weiterer Multiplikativausdruck sein.
- Syntax (Syntaxdiagramm)
Primaerausdruck
.-. .----------. .-.
--->.--->( ( )--->| Ausdruck |--->( ) )--->.--->
| '-' '----------' '-' ^
| .----------. |
'------------>| Literal |-------------'
'----------'Vorzeichenausdruck
.--------------------.
---.------------>| Primaerausdruck |----.---->
| '--------------------' ^
| .-. .--------------------. |
'--->( - )--->| Vorzeichenausdruck |----'
| '-' '--------------------' |
| .-. .--------------------. |
'--->( + )--->| Vorzeichenausdruck |----'
'-' '--------------------'Multiplikativausdruck
.-----------------------.
---.--->| Vorzeichenausdruck |--------------------------------------.--->
| '-----------------------' ^
| .-----------------------. .-. .--------------------. |
'--->| Multiplikativausdruck |--->( / )--->| Vorzeichenausdruck |---'
'-----------------------' '-' '--------------------'Ausdruck
.------------------------.
--->| Multiplikativausdruck |--->
'------------------------'
Übungsfragen
Für die Beantwortung der folgenden Übungsfragen soll das oben stehende Syntaxdiagramm zugrundegelegt werden.
/ Operanden _
Welche Operanden gibt es in dem folgenden Multiplikativausdruck (es sind insgesamt 4)?
- Ausdruck
8/4/2
? Operanden und Operatoren ⃗
Wie viele Operanden hat der erste Divisionsoperator »/« in dem Ausdruck »8 / 4 / 2«? Was sind diese Operanden? (Nicht die Werte der Operanden sind hier gesucht, sondern die Operandenausdrücke.)
Wie viele Operanden hat der zweite Divisionsoperator »/« in dem Ausdruck »8 / 4 / 2«? Was sind diese Operanden? (Nicht die Werte der Operanden sind hier gesucht, sondern die Operandenausdrücke.)
Ist »8 / 4« ein Operand in »8 / 4 / 2«?
Ist »4 / 2« ein Operand in »8 / 4 / 2«?
? Übungsfrage
Welches der beiden Divisionszeichen im Ausdruck »8/4/2« befindet sich in einem Operanden?
Welches der Divisionszeichen im Ausdruck »8/4/2/1« befindet sich nicht in einem Operanden?
Übungsaufgaben ⃗
/ Übungsaufgabe ⃗
Schreiben Sie eine Inkarnation der Kategorie »Multiplikativausdruck« des folgenden Syntaxdiagramms mit dem Multiplikativausdruck »2 / 3« und dem Vorzeichenausdruck »4« (in dieser Reihenfolge).
- Syntax (Syntaxdiagramm)
Multiplikativausdruck
.-----------------------. .-. .--------------------.
--->| Multiplikativausdruck |--->( / )--->| Vorzeichenausdruck |--->
'-----------------------' '-' '--------------------'
Die Lösung soll auf einer von Leerzeilen umgebenden Zeile für sich alleine stehen