Reinhard Foerster wrote:
Hallo Reinhard,
Ich habe am Wochenende mehrere Leute befragt. Sie hielten alle das Pluszeichen für einen algebraischen Ausdruck.
Dann hast du wohl gefragt "Ist + ein algebraischer Ausdruck?" und nicht "Was ist +?" Auf die Idee, die 2. Frage mit "algebraischer Ausdruck" zu antworten, ist bei mir niemand gekommen :-) Aber es geht ja nicht um Meinungsumfragen.
let: let arg [arg ...] Each ARG is an arithmetic expression to be evaluated.
Also könnte man die Hilfe so verstehen:
let arg1 arg2 arg3 arg4
let i = i + 1
dann würde man auch "let + + = = + + +" für gültig halten. Da ein operator (+) aber eben keine expression ist, geht das nicht. Bei "let i = i + 1" genauso. + und = sind keine expressions.
Für Nichtinformatiker:
[Reinhards ausführliche Erklärung zu Ausdrücken, Operatoren usw.]
Beispiel zur Erzeugung von "let x=2+$a 3+4": (Das pro Schritt zu ersetzende Symbol ist immer mit ^ gekennzeichnet)
statement
[...]
let SPACE x = 2 + $ a SPACE expression
... nun ist nur noch die rechte expression zu "3+4" auflösen. Man erhält dann die vorgegebene Anweisung "let x=1+$a 3+4" als:
let SPACE x = 2 + $ a SPACE 3 + 4
Und siehe da, Reinhard du nutzt zur Erklärung ein Beispiel zusätzlich zu deiner Grammatik. Dabei wäre doch deine Grammatik vollkommen ausreichend und das Beispiel beschreibt auch nur eine der 42 Millionen Möglichkeiten.
Warum hast du ein Beispiel zur Verdeutlichung gewählt ? Und warum sollte in man pages nicht auch ein Beispiel zur Verdeutlichung stehen (nach der Grammatik zum Beispiel) ?
IMO sind Grammatiken und Sprachen das einzige, was die Informatik über die Mathematik hinaus "erschaffen" hat. Im Bronstein steht dazu vermutlich nichts.
Reinhard
Jens
PS: Deine Erklärung wird jetzt ab sofort als Standardantwort auf Fragen nach Grammatiken und Ausdrücken verwendet werden ...