7 #pragma warning( disable : 4786)
69 const char * pWordStart_;
82 symbols_ [
"pi"] = 3.1415926535897932385;
83 symbols_ [
"e"] = 2.7182818284590452354;
87 const double Evaluate (
const std::string & program);
97 const TokenType GetToken (
const bool ignoreSign =
false);
98 const double CommaList (
const bool get);
99 const double Expression (
const bool get);
100 const double Comparison (
const bool get);
101 const double AddSubtract (
const bool get);
102 const double Term (
const bool get);
103 const double Primary (
const bool get);
105 inline void CheckToken (
const TokenType wanted)
109 std::ostringstream s;
110 s <<
"'" <<
static_cast <char> (wanted) <<
"' expected.";
111 throw std::runtime_error (s.str ());
std::map< std::string, double > symbols_
Definition parser.h:93
TokenType
Definition parser.h:30
@ LHPAREN
Definition parser.h:40
@ NE
Definition parser.h:51
@ RHPAREN
Definition parser.h:41
@ NOT
Definition parser.h:43
@ EQ
Definition parser.h:50
@ ASSIGN_DIV
Definition parser.h:60
@ DIVIDE
Definition parser.h:38
@ MULTIPLY
Definition parser.h:37
@ NUMBER
Definition parser.h:33
@ END
Definition parser.h:34
@ OR
Definition parser.h:53
@ GE
Definition parser.h:49
@ AND
Definition parser.h:52
@ NAME
Definition parser.h:32
@ LT
Definition parser.h:46
@ ASSIGN_MUL
Definition parser.h:59
@ COMMA
Definition parser.h:42
@ ASSIGN_SUB
Definition parser.h:58
@ LE
Definition parser.h:48
@ NONE
Definition parser.h:31
@ GT
Definition parser.h:47
@ MINUS
Definition parser.h:36
@ PLUS
Definition parser.h:35
@ ASSIGN_ADD
Definition parser.h:57
@ ASSIGN
Definition parser.h:39
double & operator[](const std::string &key)
Definition parser.h:90
const double Evaluate()
Definition parser.cpp:649
Parser(const std::string &program)
Definition parser.h:78
HIPO namespace is used for the classes that read/write files and records.
Definition bank.cpp:45