|
| ComputerSci () |
| Der Konstruktor fuegt der Symboltabelle die zusaetzlichen Symbole fuer wissenschaftliche Taschenrechner hinzu. Mehr ...
|
|
bool | getIsInv () const |
|
bool | getIsHyp () const |
|
bool | getIsFixInput () const |
|
bool | getIsSciInput () const |
|
AngMode | getAngMode () const |
|
void | setIsInv (bool isOn) |
|
void | setIsHyp (bool isOn) |
|
void | setIsFixInput (bool isOn) |
|
void | setIsSciInput (bool isOn) |
|
void | setAngMode (AngMode mode=DEG) |
|
string | makeCompSciInfoStr () |
| Erzeugt String mit den wichtigen Member-Variablen. Mehr ...
|
|
virtual bool | preProcess (string &in) |
| Funktion erlaubt es, ein Symbol vor der eigentlichen Verarbeitung zu veraendern. Mehr ...
|
|
virtual void | handlePercent () |
| Prozentrechnung des Solar-Rechners: Mehr ...
|
|
virtual void | aftProcess (string &in) |
|
virtual bool | map (string &sym) |
|
virtual string | makeCompInfoStr () |
|
| ComputerBase () |
| Konstruktor erzeugt Symboltabelle, initialisiert Symbol- und Nummern-Stack.
|
|
virtual | ~ComputerBase () |
| Die mit new angelegten Symbole muessen wieder geloescht werden.
|
|
void | createSymTabBase () |
| Erzeugt Symboltabelle mit allen Symbolen des "minimalen" Taschenrechners. Mehr ...
|
|
void | showSymTab () |
| Schreibt alle Symbole in die Log-Datei.
|
|
void | initStacks () |
| Initialisiert die beiden Stack-Listen. Mehr ...
|
|
void | initMembers (bool clrMem=true) |
| Initialisiert die Members von ComputerBase. Mehr ...
|
|
void | clearNum () |
|
Number | getConstVal () const |
|
Number | getPrcWhole () const |
|
Number | getMemory () const |
|
int | getBraLev () const |
|
int | getParam () const |
|
SymOperator * | getConstOpP () const |
|
SymOperator * | getLastOpP () const |
|
SymOperator * | getLastButOneOpP () const |
|
Symbol * | getLastInP () const |
|
Symbol * | getLastButOneInP () const |
|
Symbol * | getSymP (const string &sym) |
|
void | setDsplP (DisplayBase *dsplP) |
|
void | setConstVal (const Number &val) |
|
void | setPrcWhole (const Number &val) |
|
void | setMemory (const Number &val) |
|
void | setParam (const int val) |
|
void | setLastOpP (SymOperator *soP) |
| Speichert die Zeiger auf die beiden zuletzt eingegebene Operator-Symbole. Mehr ...
|
|
void | setConstOpP (SymOperator *soP) |
|
void | setLastInPisNotToSet (bool is) |
|
void | setLastInP (Symbol *sP) |
| Speichert den Zeiger auf das zuletzt eingegebene Symbol. Mehr ...
|
|
void | setIsToInit (bool in) |
|
void | pushNewStacks () |
| Wirft neue Stacks auf die Stack-Listen. Mehr ...
|
|
void | popStacks () |
| Holt die letzten Stacks von den Stack-Listen. Mehr ...
|
|
void | pushNum (const Number &n) |
|
void | pushSym (SymOperator *sP) |
|
Number | getTopButOneNum () |
|
void | setTopButOneNum (const Number &n) |
|
bool | isNumEmpty () |
|
bool | isSymEmpty () |
|
Number | popNum () |
|
Number | topNum () |
|
SymOperator * | popSym () |
|
SymOperator * | topSym () |
|
void | incBraLev () |
|
void | decBraLev () |
|
void | printSymHelp () |
| Gibt alle Symbole der Symboltabelle auf die Konsole aus.
|
|
string | getAllSyms () |
| Gibt saemtliche Symbole und Infos im String zurueck.
|
|
bool | isSym (const string &sym) |
| Prueft, ob Symbol sym in der Symboltabelle ist, und gibt true oder false zurueck. Mehr ...
|
|
Error | compute () |
| Berechnet den letzten Operator auf dem Symbol-Stack. Mehr ...
|
|
Error | swapNum () |
|
string | extractParam (string &in) |
| Extrahiert einen moeglicherweise vorhandenen Parameter des Symbols. Mehr ...
|
|
string | makeCompBaseInfoStr () |
| Erzeugt fuers Debugging String mit den wichtigen Member-Variablen. Mehr ...
|
|
virtual void | aftProcess2 (string &in) |
|
virtual SymOperator * | checkConstMode (SymOperator *opP) |
| Untersucht, ob in den Konstanten-Modus gewechselt werden oder dieser abgeschaltet werden muss. Mehr ...
|
|
virtual void | handleDisplayAfterBra () |
| Erzeugt passende Anzeige nach Eingabe von "(". Mehr ...
|
|
virtual void | popNumDepOnLastSym () |
|
Bruchdarstellung: Fliesskomma, Bruch, gemischter Bruch.
Die Klasse bildet die Grundlage fuer alle wissenschaftlichen Rechner. Sie unterscheidet sich von ComputerBase (s. auch dort) im wesentlichen nur durch Klassenvariablen fuer neue Modi ("invers", "hyperbolisch" etc.). Sie dient als Basisklasse fuer die eigentlichen Computer.
bool ComputerSci::preProcess |
( |
string & |
in | ) |
|
|
virtual |
Funktion erlaubt es, ein Symbol vor der eigentlichen Verarbeitung zu veraendern.
Insbesondere wird ein Mapping durchgefuehrt, wenn ein Modus (Invers, Hyperbolicus, ...) aktiv ist. Z.B. wird im Invers-Modus das Symbol "sin" zu "asin".
- Rückgabewerte
-
in | Eingabesymbol und das gemappte Symbol |
- Rückgabe
- true, wenn das Symbol vollstaendig prozessiert worden ist
Erneute Implementation von ComputerBase.
Erneute Implementation in ComputerFx3600p und ComputerFx85v.