+#include <msp/strings/lexicalcast.h>
#include "evaluate.h"
namespace Msp {
if(!result_valid)
return;
- if(unary.oper=="!")
+ if(unary.oper->token[0]=='!')
result = !result;
else
result_valid = false;
if(!result_valid)
return;
- if(binary.oper=="<")
+ std::string oper = binary.oper->token;
+ if(oper=="<")
result = (left_result<result);
- else if(binary.oper=="<=")
+ else if(oper=="<=")
result = (left_result<=result);
- else if(binary.oper==">")
+ else if(oper==">")
result = (left_result>result);
- else if(binary.oper==">=")
+ else if(oper==">=")
result = (left_result>=result);
- else if(binary.oper=="==")
+ else if(oper=="==")
result = (left_result==result);
- else if(binary.oper=="!=")
+ else if(oper=="!=")
result = (left_result!=result);
- else if(binary.oper=="&&")
+ else if(oper=="&&")
result = (left_result && result);
- else if(binary.oper=="||")
+ else if(oper=="||")
result = (left_result || result);
else
result_valid = false;