public override bool Produce(Context context, IContinuation succ, IFailure fail) { string word = StarUtilities.ProducedCode(context, tagger, parser); Datum datum; if (word == "past") { datum = new Datum(null, Relations.Relation.Tense, memory.past, context.Weight); } else if (word.Contains(" ")) { datum = new Datum(null, Relations.Relation.Tense, memory.NewConcept(word, Concept.Kind.Entity), context.Weight); } else { bool isPast = verbs.GetInflection(word) == Verbs.Convert.ext_Ved; if (isPast) { datum = new Datum(null, Relations.Relation.Tense, memory.past, context.Weight); } else { datum = new Datum(null, Relations.Relation.Tense, memory.now, context.Weight); } } context.LookupAndAdd <List <Datum> >("$knowPartials", new List <Datum>()).Add(datum); succ.Continue(new Context(context, new List <IContent>()), fail); return(true); }
public static bool PrintContents(Context context, IContinuation succ, IFailure fail, params object[] args) { PluginEnvironment plugenv = (PluginEnvironment)args[0]; POSTagger tagger = new POSTagger(plugenv); GrammarParser parser = new GrammarParser(plugenv); Console.WriteLine(StarUtilities.ProducedCode(context, tagger, parser)); succ.Continue(new Context(context, new List <IContent>()), fail); return(true); }