Syntaktische Rekursion in VBA (Syntaktische Rekursion in VBA), Lektion, Seite 722879
https://www.purl.org/stefan_ram/pub/syntaktische_rekursion_vba (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
VBA-Kurs

Syntaktische Rekursion in VBA 

Ein Operand  eines Operators muß nicht unbedingt immer ein Literal  sein, sondern kann auch seinerseits wiederum ein Operatorausdruck  sein. Das folgende Syntaxdiagramm für einen Ausdruck bringt dies dadurch zum Ausdruck, daß es einen Verweis auf sich selbst enthält. Ein solcher Selbstbezug wird auch als Rekursion  bezeichnet.

vereinfachte Syntax
Ausdruck
.-------.
---.--->|Literal|-------------.--->
| '-------' ^
| .-. .----------. |
'-->· - ·-->| Ausdruck |---'
'-' '----------'

Dies bedeutet, daß es erlaubt ist, ein Literal in einem Operatorausdruck durch einen weiteren  Operatorausdruck zu ersetzen – dadurch entsteht dann im allgemeinen wieder ein erlaubter Ausdruck, der aber einen anderen Wert haben kann. In dem folgenden Beispiel mit »--65« wird das erste »-« auf den Operanden »-65« angewendet, der seinerseits kein Literal, sondern selber wieder  ein Vorzeichenwechsel ist. In dem folgenden Beispiel ist »-65« der Operand des ersten Vorzeichenwechseloperators.

Direktbereich
? --65
65

Das voranstehende Beispiel zeigt auch, daß das Ergebnis einer Anwendung des Vorzeichenwechseloperators »-« keine  negative Zahl ergeben muß.

Wir nennen das erste Minuszeichen »-« in »--65« auch „äußeres Minuszeichen“ und das zweite Minuszeichen »-« in »--65« auch „inneres Minuszeichen“. Diese Bezeichnungen ergeben sich daraus, daß der zweite Ausdruck »-65« in dem gesamten Ausdruck »--65« enthalten ist.

Einen Ausdruck, der Teil eines anderen Ausdrucks ist, nennt man auch Teilausdruck.

syntaktische Rekursion
Ausdruck
.-------------------------------------.
| Ausdruck |
| .-------------------. |
| | Ausdruck | |
.-. | .-. | .---------. | |
--->· - ·-->|--->· - ·-->|--->| Literal |--->|--->|--->
'-' | '-' | '---------' | |
| | | |
| '-------------------' |
| |
| |
'-------------------------------------'

Die folgende Baumdarstellung  von »--65«, zeigt, daß »--65« aus einem Minuszeichen »-« und einem weiteren Ausdruck »-65« besteht, der seinerseits wiederum in ein Minuszeichen »-« und den Ausdruck »65« zerlegt werden kann.

syntaktische Rekursion (Baumdarstellung)
- -65
/ \
- -65
/ \
- 65

Ausdrücke als Operanden

Wir haben Ausdrücke zunächst als Texte kennengelernt, die in den Ausdruckrahmen eingesetzt werden können. Nun sehen wir, daß sie auch als Operanden dienen können. Tatsächlich ist dies sogar die wichtigere und häufigere Verwendung von Ausdrücken.

Operanden und ihre Werte

Von einem Operanden wird immer nur dessen Wert verwendet, nicht seine Schreibweise. Daher bedeuten »--2« und »2« als Operanden genau dasselbe, nämlich den Wert «2» – es ist egal, wie dieser Wert geschrieben wird.

Kuriositäten *

Die Kenntnis der folgenden „Kuriositäten“ ist zum Erlernen der ersten Grundlagen von VBA nicht wichtig, weswegen dieser Abschnitt beim ersten Lesen übersprungen werden kann.

Das folgende Beispiel zeigt, daß eine Folge mehrerer  Vorzeichen in String-Numeralia nicht  möglich ist.

? --"-65"
-65 
? -"--65"
⚠ Laufzeitfehler '13': Typen unverträglich
⚠ Run-time Error '13': Type mismatch

Ein Plusoperator  vor einem Zeichenfolgennumerale wird anscheinend als wirkungslos interpretiert, die Zeichenfolge wird aber dabei nicht in eine Zahl  gewandelt, sondern bleibt weiterhin ein Text. Dies kann man daran erkennen, daß bei der Ausgabe eines positiven Wertes kein Leerzeichen vorangestellt wird, wie sonst bei Zahlen.

Direktbereich
? +"2.2"
2.2
? --"2.2"
 2.2 

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722879 stefan_ram:722879 Syntaktische Rekursion in VBA Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722879, slrprddef722879, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/syntaktische_rekursion_vba