====== Taschenrechner ====== 2 Varianten von Rechnern: * Taschenrechner (Tasten mit Zahlen, Operationen) * UI aufwendiger, Logik einfach. * Eingabe einer Rechnung (wie z.B. 3+4*5) * UI einfach, Logik anspruchsvoll, ausser man benutzt einfach 'eval' ;-) ===== Taschenrechner ===== * UI: Tabelle mit Zahlen, Symbolen. Event-Callback in eine einzige Funktion. Diese erhält in ''this'' eine Referenz auf den Knopf. * Das Programm muss sich jeweils das Zwischenresultat und die Operation merken ===== Ausdruck parsen ===== * Allgemeiner Parser ist anspruchsvoll * Beschränkung auf Ganze Zahlen und * und + ohne Klammern: * In der Zeichenkette * suchen, Zahlen vorher und nachher auslesen, verrechnen, in der Zeichenkette mit Resultat ersetzen. * Dann mit + * Am Einfachsten die Zeichenkette erst in "Tokens" zerlegen, z.B. aus 3+42*5 wird das Array ['3', '+', '42', '*', '5'].