public static Evaluator MakeMatcherContinue(double salience, Context context, IParsedPhrase input, List <IParsedPhrase> unmatched, IContinuation succ) { context.Map["$check"] = null; // Match this to first constituent, the continue for others Matcher matcheval = new Matcher(salience, input, unmatched, succ); ContinuationAppender appender = new ContinuationAppender(context, matcheval); Evaluator eval = new Evaluator(salience, ArgumentMode.SingleArgument, appender.AsIndex(0), appender.AsIndex(1), true); return(eval); }
public override bool Produce(Context context, IContinuation succ, IFailure fail) { // Evaluate all children ContinueToCallAgent cont = CallAgentWrapper.MakeContinuation(ConstructSentence, succ, 100.0, 10, 10); ContinuationAppender appender = new ContinuationAppender(context, cont); Evaluator eval = new Evaluator(salience, ArgumentMode.ManyArguments, appender.AsIndex(0), appender.AsIndex(1), true); eval.Continue(context, fail); return(true); }