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);
        }
Ejemplo n.º 2
0
        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);
        }