43 int nType = in->which();
44 double tmp = 0.0, par1 = 0.0, par2 = 0.0, par3 = 0.0;
49 funcTable ft = boost::get<funcTable>(*in);
82 tmp = boost::get<int>((*in));
85 tmp = boost::get<double>((*in));
96 int nType = in->which();
98 bool tmpbool =
true,parl1 =
true,parl2 = true ;
101 funcTable ft = boost::get<funcTable>(*in);
105 double par1 = 0.0,par2 = 0.0;
137 operands_type_set::reverse_iterator op =
opt.rbegin();
146 operands_type_set::reverse_iterator op =
opt.rbegin();
155 std::cout <<
"Evaluation fault!" << std::endl;
170 typedef qi::in_state_skipper<OpcUaFormulaTokens::lexer_def> skipper_type;
171 typedef OpcUaFormulaTokens::iterator_type iterator_type;
176 OpcUaFormulaTokens OpcUa_Formula_lexer;
178 OpcUa_Formula_Grammar OpcUa_Formula_parser( OpcUa_Formula_lexer,
opt,logical);
181 std::string::iterator iter = formul.begin();
182 std::string::iterator end = formul.end();
190 bool r = tokenize_and_phrase_parse(iter, end, OpcUa_Formula_lexer,OpcUa_Formula_parser, qi::in_state(ws)[OpcUa_Formula_lexer.self]);
193 if (r && (iter == end ) )
202 for ( operands_type_set::iterator itt =
opt.begin(); itt !=
opt.end(); itt++)
204 if (itt->which() == 3) {
216 std::cout <<
"-------------------------" << std::endl;
217 std::cout <<
"Parsing failed " << formul << std::endl;
218 std::cout <<
"-------------------------" << std::endl;
220 for ( std::string::iterator itt = iter; itt != end; itt++)