SAWYER_EXPORT std::string IfEq::eval(const Grammar &grammar, const std::vector<std::string> &args) { ASSERT_require(args.size() == 4); std::string v1 = grammar.unescape(args[0]); std::string v2 = grammar.unescape(args[1]); return grammar(v1==v2 ? args[2] : args[3]); }
SAWYER_EXPORT std::string Eval::eval(const Grammar &grammar, const std::vector<std::string> &args) { std::string s = grammar.unescape(boost::join(args, "")); return grammar(s); }