Operatoren
Ein Operator verbindet Ausdrücke zu einem neuen Ausdruck, der auch Operatorausdruck genannt wird. In dem Ausdruck "3+7" verbindet der Operator "+" das Numeral "3" und das Numeral "7". Die Teile eines Ausdrucks, die durch einen Operator verknüpft werden, nennt man Operanden. Im Ausdruck "3+7" ist also das Numeral "3" der linke Operand und das Numeral "7" der rechte Operand des Operators "+".
Der Ausdruck "3+7"
Ausdruck
.--------------------------------------------------.
| Teilausdruck Teilausdruck |
| .------------. .------------. |
| | 3 | + | 7 | |
| '------------' '------------' |
| Operand Operator Operand |
'--------------------------------------------------'
Der Ausdruck "3+7" besteht aus insgesamt drei Ausdrücken, denn neben dem gesamten Ausdruck sind auch noch die beiden Numerale Ausdrücke, die man auch als Teilausdrücke bezeichnet, weil sie Teile eines größeren Ausdruck sind. Andere Teile des Ausdrucks, wie etwa das Zeichen "+" oder das Zeichenpaar "3+" sind keine Ausdrücke, da sie ja auch keinen Wert haben.
Der Aufbau eines Summenausdrucks läßt sich auch mit der Backus-Naur-Form schreiben.
- 〈Summe 〉 ::=
- 〈linker Summand 〉 "+" 〈rechter Summand 〉.
Obwohl ein Ausdruck sich aus mehreren Teilausdrücken zusammensetzen kann, gilt er nach außen doch als ein Ausdruck. Dies kann man mit einem Paket vergleichen: Von außen sieht man es nicht, ob das Paket intern vielleicht noch weitere Pakete enthält und spricht daher von einem Paket.
Arität
Auch bei der Schreibweise "−4" für die negative Zahl „minus Vier“ kann man das Zeichen "−" als einen Operator ansehen, der die Zahl "4" als Operanden hat. Solch einen Operator nennt man ja auch ein „Vorzeichen.“
Einen Operator, der nur einen Operanden hat, wie beispielsweise der Operator "−" in dem Ausdruck "−4", nennt man einen unären Operator. Ein Operator, der zwei Operanden hat, wie der Operator "+" in dem vorherigen Beispiel, nennt man einen binären Operator. Einen Operator mit drei Operanden nennt man einen ternären Operator. Allgemein ist die durch diese Adjektive bezeichnete Eigenschaft die Arität eines Operators, ein unärer Operator hat die Arität Eins, ein binärer Operator hat die Arität Zwei und so weiter.
Der Ausdruck "-4"
Ausdruck
.--------------------------------.
| Teilausdruck |
| .------------. |
| - | 4 | |
| '------------' |
| Operator Operand |
'--------------------------------'
Auch mit der Backus-Naur-Form lassen sich Ausdrücke mit vorangestelltem unären und zwischengestelltem binären Operator schreiben.
- 〈unärer Ausdruck 〉 ::=
- 〈unärer Operator 〉 〈unärer Operand 〉.
- 〈binärer Ausdruck 〉 ::=
- 〈linker Operand 〉 〈binärer Operator 〉 〈rechter Operand 〉.
Literale
Ein Ausdruck, der einen Operator enthält, ist kein Literal mehr. In vielen formalen Sprachen ist daher der Ausdruck "-4" kein Literal. Es gibt also in vielen formalen Sprachen keine Literale für negative Zahlen, diese müssen als Ausdruck mit dem unären Minusoperator "-" geschrieben werden.
Grundoperatoren
Viele formale Sprachen stellen Operatoren für die Grundrechenarten, die Kinder in der Schule lernen, bereit.
Summe
Die verschiedenen Bezeichnungsweise für die Operanden einer Summe kann den folgenden Produktionen für das Beispiel von drei Operanden entnommen werden.
- 〈Summe 〉 ::=
- 〈Summand 〉 "+" 〈Summand 〉 "+" 〈Summand 〉.
Der Operator "+" in einer Summe wird als „plus“ oder „und“ gesprochen.
Die durchgeführte Rechnung ist eine Addition (das Zusammenzählen).
Wegen der Kommutativität ist keine Unterscheidung der Operanden notwendig, solange die Operation isoliert betrachtet wird. Aus dem Zusammenhang, in dem die Operanden vorkommen, kann sich aber manchmal der Wunsch ergeben, die Werte in einen Wert, „zu dem addiert wird,“ und in Werten, „die addiert werden,“ zu unterscheiden. Dann sind folgende Bezeichnungen möglich.
- 〈Summe 〉 ::=
- 〈Augend 〉 "+" 〈Addend 〉 "+" 〈Addend 〉.
Die Bezeichnungsweisen der Operanden in der folgenden Produktion können heute (im Jahre 2004) als veraltet gelten.
- 〈Summe 〉 ::=
- 〈Augendus 〉 "+" 〈Addendus 〉 "+" 〈Addendus 〉.
Es folgt noch eine Angabe der englischen Bezeichnungen:
- Addend
- addend
- Augend
- augend
- Summe
- sum, total
Sometimes both the augend and the addend are called the addends.
Differenz
Die verschiedenen Bezeichnungsweise für die Operanden einer Differenz kann den folgenden Produktionen entnommen werden.
- 〈Differenz 〉 ::=
- 〈Minuend 〉 "−" 〈Subtrahend 〉 "−" 〈Subtrahend 〉.
Der Operator "−" in einer Differenz wird als „minus“ gesprochen.
Die durchgeführte Rechnung ist eine Subtraktion (das Abziehen).
Die Bezeichnungsweisen der Operanden in der folgenden Produktion können heute (im Jahre 2004) als veraltet gelten.
- 〈Differenz 〉 ::=
- 〈Minuendus 〉 "−" 〈Subtrahendus 〉 "−" 〈Subtrahendus 〉.
Es folgt noch eine Angabe der englischen Bezeichnungen:
- Differenz
- difference
- Minuend
- minuend
- Subtrahend
- subtrahend
Produkt
Die verschiedenen Bezeichnungsweise für die Operanden eines Produktes kann den folgenden Produktionen entnommen werden.
- 〈Produkt 〉 ::=
- 〈Faktor 〉 "·" 〈Faktor 〉 "·" 〈Faktor 〉.
- 〈Produkt 〉 ::=
- 〈Multiplikand 〉 "·" 〈Multiplikator 〉 "·" 〈Multiplikator 〉.
Der Operator "·" in einem Produkt wird als „mal“ gesprochen.
Die durchgeführte Rechnung ist eine Multiplikation (das Vervielfachen, das Malnehmen). Nach Pippi Langstrumpf wird sie auch als Plutimikation bezeichnet.
Die Bezeichnungsweisen der Operanden in der folgenden Produktion können heute (im Jahre 2004) als veraltet gelten.
- 〈Produkt 〉 ::=
- 〈Multiplicandus 〉 "·" 〈Multiplicator 〉 "·" 〈Multiplicator 〉.
Anstelle des Multiplikationszeichens "·" wird in vielen formalen Sprachen auch das Sternchen "*" verwendet.
Es folgt noch eine Angabe der englischen Bezeichnungen:
- Multiplikand
- multiplicand
- Multiplikator
- multiplier
- Faktor
- factor
Quotient
Die verschiedenen Bezeichnungsweise für die Operanden einer Division kann den folgenden Produktionen entnommen werden.
- 〈Quotienten 〉 ::=
- 〈Dividend 〉 "∕" 〈Divisor 〉 "∕" 〈Divisor 〉.
Der Operator "∕" in einem Quotienten wird als „(geteilt) durch“ gesprochen.
Die durchgeführte Rechnung ist eine Division (das Teilen).
Einen Quotienten kann man auch als Bruch interpretieren.
- 〈Bruch 〉 ::=
- 〈Zähler 〉 "∕" 〈Nenner 〉.
Der Nenner gibt an, in wieviele gleiche Teile die "1" zerlegt wurde und der Zähler, wieviel davon addiert wurden. So ist "3/7" der Wert, den man erhält, wenn man die "1" in sieben gleiche Teile zerlegt und drei von diesen addiert.
Die Bezeichnungsweisen des ersten Operanden in der folgenden Produktion können heute (im Jahre 2004) als veraltet gelten.
- 〈Quotient 〉 ::=
- 〈Dividendus 〉 "∕" 〈Divisor 〉 "∕" 〈Divisor 〉.
Anstelle des Divisionszeichens "∕" wird in vielen formalen Sprachen auch der Schrägstrich "/" verwendet.
Es folgt noch eine Angabe der englischen Bezeichnungen:
- Quotient
- quotient
- Dividend
- dividend
- Divisor
- divisor
Klammern
Die runden Klammern, also die Klammer auf "(" und die Klammer zu ")", können verwendet werden, um zu Teilausdrücke zu umklammern. Andere Klammern, wie eckige oder geschweifte Klammern, dürfen für diesen Zweck in den meisten formalen Sprachen nicht eingesetzt werden.
- / Numeral?
- Ein Numeral ist ein durch eine formale Sprache definierter Name eines Zahlenwertes, der keine Operatoren enthält. Geben Sie an, ob es sich bei den folgenden Texten jeweils um ein Numeral handelt.
- "1.5"
- "1 + 5"
- "3"
- "1 * 5"
- / Gemischte Zahl
- Wie wird die gemischte Zahl "3 1/2" (gesprochen „Dreieinhalb“) durch Grundrechenarten ausgedrückt? (In den meisten formalen Sprache kann man gemischte Zahlen nicht direkt notieren.)
In der Mathematik bedeutet die Hintereinanderschreibung, wie in dem Term "4a" oft Multiplikation. so daß der Term "4a" den gleichen Wert wie der Term "4·a" hat. Bei der gemischten Zahl "3 1/2" bedeutet die Hintereinanderschreibung einer Zahl und eines Bruchs aber etwas anderes.
Position
Bestimmte unäre Operatoren können auch direkt hinter ihrem Operanden stehen, man spricht dann von einem nachgestellten (engl. postfix ) Operator. Die bisher vorgestellten unären Operatoren, wie das Minus, stehen vor ihren Operanden, sind also vorgestellte (engl. prefix ) Operatoren. Ein binärer Operator steht normalerweise zwischen seinen Operanden (engl. infix ).
In der Backus-Naur-Form wird der Unterschied zwischen vor- und nachgestelltem unären Operator klar:
- 〈unärer Ausdruck mit vorgestelltem Operator 〉 ::=
- 〈vorgestellter unärer Operator 〉 〈unärer Operand 〉.
- 〈unärer Ausdruck mit nachgestelltem Operator 〉 ::=
- 〈unärer Operand 〉 〈nachgestellter unärer Operator 〉.
Schließlich gibt es noch Sonderformen von Operatoren. So bilden die Klammern in dem Ausdruck "( 1 )" einen unären Operator, der seinen Operanden umgibt. In dem Funktionsausdruck "cos( 0 )" bilden die Klammern den Aufrufoperator und wechseln sich mit ihren beiden Operanden (dem Operanden "cos" und dem Operanden "0") ab.
Typen und Operatoren
Durch einen Operator und den Datentyp seiner Operanden ist auch der Datentyp des Operatorausdruck bestimmt. So könnte man beispielsweise in einer formalen Sprache einen Operator "-" verwenden, der es erlaubt die Gegenzahl "-z" einer ganzen Zahl "z" zu notieren.
Der Operator "-" [Kompassdiagramm]
.----------------.
Argument | Operator - | Abbildungswert
------------->| |--------------->
Ganzzahl '----------------' Ganzzahl
Damit ist beispielsweise der Datentyp des Ausdrucks "-4" bestimmt. Der Ausdruck "-1.2" wäre nicht zulässig, wenn der Operator "-" nur für Ganzzahlen definiert sein sollte. (In vielen formalen Sprachen ist er aber auch für Gleitkommazahlen definiert.)