Die syntaktische Rekursion bei der Division in C++
Wir hatten bisher zur Vereinfachung nur eine eingeschränkte Produktionsregel für Divisionsausdrücke vorgestellt.
Tatsächlich erlaubt die Produktionsregel auf der linken Seite des Divisionsoperators »/« nicht nur einen Vorzeichenausdruck, sondern sogar einen Divisionsausdruck.
- Neue, erweiterte Syntax
Divisionsausdruck
.--------------------.
---.--->| unaerer Ausdruck |------------------------------------.--->
| '--------------------' |
| .--------------------. .-. .------------------. |
'--->| Divisionsausdruck |--->( / )--->| unaerer Ausdruck |---'
'--------------------' '-' '------------------'
Damit sind nun auch Ausdrücke mit mehreren binären Operatoren wie »24/3/2« erlaubt, die keine Klammern verwenden.
Übungsfragen
? Übungsfrage
Welches Divisionszeichen des Divisionsausdrucks »24/3/2« befindet sich in einem Operanden?
- Syntaxdiagramm
Divisionsausdruck
.-------------------.
--->.--->| unaerer Ausdruck |-------------------------------------.---->
| '-------------------' ^
| .-------------------. .-. .------------------. |
'--->| Divisionsausdruck |--->( / )--->| unaerer Ausdruck |----'
'-------------------' '-' '------------------'