Einzelnen Beitrag anzeigen

Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#17

AW: Parser: Operatoren

  Alt 16. Apr 2012, 11:55
Zitat:
Nein, was ist denn daran nicht erlaubt? "a = 1+-+-+-+-+-2;
Was ist bitte daran erlaubt?
Der Ausdruck. Versuche es selbst. In der Mathematik ist es problemlos möglich, und ich sehe keinen Grund (außer vielleicht einem ästhetischen), dies nicht zuzulassen. Bei ersetzenden Skriptsprachen (z.B. TeX) ist es sogar existentiell, das ein solcher Ausdruck keine Probleme bereitet. Ich kann mir auch vorstellen, das Codegeneratoren viel komplexer sein müssten, wären redundante Vorzeichen nicht erlaubt.

releation := expression (relop Expression)
expression := Term (+- Term)*
term := factor (*/ Factor)*
factor := Var|Constant|Function call| '(' relation ')'
wenn ich bei Factor vor meinem wert ein '-' finde, weiß ich es ist ein vorzeichen
Ich sehe das Vorzeichen in deiner Grammatik nicht. Dann muss dein Parser auch nichts 'wissen'. Parser sind -wie Du sicherlich schon herausgefunden hast- strutzdämlich, wissen gar nichts und machen doch alles richtig.
  Mit Zitat antworten Zitat