#include <string>#include <vector>Klassen | |
| class | term |
| struct | conf_command |
Funktionen | |
| vector< conf_command > | term_parse_cmd (string input) |
| string | term_set_parenthesis (string input) |
| vector< term > | term_terminate (string input) |
Variablen | |
| const int | NUMBER = 0 |
| const int | VARIABLE = 1 |
| const int | TERM = 2 |
| const int | POW = 0 |
| Operatorkonstanten. | |
| const int | DIV = 1 |
| const int | MULT = 2 |
| const int | SUBT = 3 |
| const int | ADD = 4 |
| vector<conf_command> term_parse_cmd | ( | string | input | ) |
Verwandelt einen String mit Elementarbefehlen, die als Parameter Formeln tragen ("Vorwaerts(p_0*10)"), in einen Vektor aus conf_command um, d.h. in einen Vektor aus Paaren von Bezeichnern ("Vorwaerts") und Termen.
| input | Der String aus Befehlen |
| string term_set_parenthesis | ( | string | input | ) |
Bereitet die Formel zur Umwandlung in einen Term vor, indem es Klammern setzt. So bekommt die Funktion term_terminate in jedem Fall in eindeutiger Form. Diese Funktion stellt auch die "Potenz-vor-Punkt-vor-Strichrechung" sicher.
| input | Die Formel, die es vorzubereiten gilt |
| vector<term> term_terminate | ( | string | input | ) |
Verwandelt einen Formel, also einen String wie "(p_0+5)*5+p_4*3/(1/2)" in einen äquivalenten Term. Dazu wird zunächst set_parenthesis aufgerufen, um den String vorzubereiten
| input | Die Formel in Rohform |
| const int ADD = 4 |
| const int DIV = 1 |
| const int MULT = 2 |
| const int NUMBER = 0 |
Konstanten, die den Quelltext lesbarer machen sollen Typenkonstanten:
| const int POW = 0 |
Operatorkonstanten.
| const int SUBT = 3 |
| const int TERM = 2 |
| const int VARIABLE = 1 |
1.4.7