12 // forward declarations.
17 typedef long double Value
;
18 typedef map
<string
, Command
> Commands
;
19 typedef map
<string
, Operator
> Operators
;
20 typedef map
<string
, Value
> Variables
;
21 typedef stack
<Value
> Stack
;
22 typedef stack
<Stack
> History
;
32 void Eval(string input
);
38 virtual operator()(Value a
, Value b
) = 0;
44 virtual unsigned int Arguments() = 0;
45 virtual operator()(Calculator
& calculator
, list
<string
>& args
) = 0;