Example #1
0
int main() {
    
    Evaluator eval;
    
    string input;
    
    cout<<"'exit' to quit"<<endl<<endl;
    
    while (true) {
        cout<<"Enter expression: ";
        std::getline(cin, input, '\n');
        if (input == "exit") break;
        try {
            Object obj = eval.evaluate(input);
            cout<<obj.symbol()<<" = "<<obj.value().value()<<endl;
        } catch (Error error) {
            cout<<error.message<<endl;
        }
    }
    
    return 0;
}
Example #2
0
 static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2)
 {
   DATA_PTR(self.value()) = new T(arg0, arg1, arg2);
 }
Example #3
0
 static void construct(Object self, Arg0_T arg0)
 {
   DATA_PTR(self.value()) = new T(arg0);
 }
Example #4
0
 static void construct(Object self)
 {
   DATA_PTR(self.value()) = new T(self);
 }
Example #5
0
 static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11, Arg12_T arg12, Arg13_T arg13)
 {
   DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
 }
Example #6
0
 static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7)
 {
   DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
 }
Example #7
0
 static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4)
 {
   DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4);
 }
Example #8
0
 static void construct(Object self, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5)
 {
   DATA_PTR(self.value()) = new T(arg1, arg2, arg3, arg4, arg5);
 }
Example #9
0
 static void construct(Object self, Arg1_T arg1)
 {
   DATA_PTR(self.value()) = new T(self, arg1);
 }
Example #10
0
 static void construct(Object self, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9)
 {
   DATA_PTR(self.value()) = new T(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
 }