Esempio n. 1
0
        public virtual void loadFunctions(Rete engine)
        {
            NotFunction not = new NotFunction();
            engine.declareFunction(not);
            funcs.Add(not);

            TrueFunction trueFunc = new TrueFunction();
            engine.declareFunction(trueFunc);
            funcs.Add(trueFunc);

            FalseFunction falseFunc = new FalseFunction();
            engine.declareFunction(falseFunc);
            funcs.Add(falseFunc);
        }
Esempio n. 2
0
 public virtual void loadFunctions(Rete engine)
 {
     StringCompareFunction compare = new StringCompareFunction();
     engine.declareFunction(compare);
     funcs.Add(compare);
     StringIndexFunction indx = new StringIndexFunction();
     engine.declareFunction(indx);
     funcs.Add(indx);
     StringLengthFunction strlen = new StringLengthFunction();
     engine.declareFunction(strlen);
     funcs.Add(strlen);
     StringLowerFunction lower = new StringLowerFunction();
     engine.declareFunction(lower);
     funcs.Add(lower);
     StringReplaceFunction strrepl = new StringReplaceFunction();
     engine.declareFunction(strrepl);
     funcs.Add(strrepl);
     StringUpperFunction upper = new StringUpperFunction();
     engine.declareFunction(upper);
     funcs.Add(upper);
     SubStringFunction sub = new SubStringFunction();
     engine.declareFunction(sub);
     funcs.Add(sub);
     StringTrimFunction trim = new StringTrimFunction();
     engine.declareFunction(trim);
     funcs.Add(trim);
 }
Esempio n. 3
0
 public virtual IReturnVector executeFunction(Rete engine, IParameter[] params_Renamed)
 {
     bool load = false;
     if (params_Renamed != null && params_Renamed.Length > 0)
     {
         for (int idx = 0; idx < params_Renamed.Length; idx++)
         {
             String func = params_Renamed[idx].StringValue;
             try
             {
                 engine.declareFunction(func);
                 load = true;
             }
             catch (Exception e)
             {
                 load = false;
             }
         }
     }
     DefaultReturnVector ret = new DefaultReturnVector();
     DefaultReturnValue rv = new DefaultReturnValue(Constants.BOOLEAN_OBJECT, load);
     ret.addReturnValue(rv);
     return ret;
 }
Esempio n. 4
0
 public virtual void loadFunctions(Rete engine)
 {
     Abs abs = new Abs();
     engine.declareFunction(abs);
     funcs.Add(abs);
     Acos acos = new Acos();
     engine.declareFunction(acos);
     funcs.Add(acos);
     Add add = new Add();
     engine.declareFunction(add);
     funcs.Add(add);
     Asin asin = new Asin();
     engine.declareFunction(asin);
     funcs.Add(asin);
     Atan atan = new Atan();
     engine.declareFunction(atan);
     funcs.Add(atan);
     Ceil ceil = new Ceil();
     engine.declareFunction(ceil);
     funcs.Add(ceil);
     Const cnst = new Const();
     engine.declareFunction(cnst);
     funcs.Add(cnst);
     Cos cos = new Cos();
     engine.declareFunction(cos);
     funcs.Add(cos);
     Degrees degrees = new Degrees();
     engine.declareFunction(degrees);
     funcs.Add(degrees);
     Divide div = new Divide();
     engine.declareFunction(div);
     funcs.Add(div);
     EqFunction eqf = new EqFunction();
     engine.declareFunction(eqf);
     funcs.Add(eqf);
     Evenp evenp = new Evenp();
     engine.declareFunction(evenp);
     funcs.Add(evenp);
     Exp exp = new Exp();
     engine.declareFunction(exp);
     funcs.Add(exp);
     Floor floor = new Floor();
     engine.declareFunction(floor);
     funcs.Add(floor);
     Greater gr = new Greater();
     engine.declareFunction(gr);
     funcs.Add(gr);
     GreaterOrEqual gre = new GreaterOrEqual();
     engine.declareFunction(gre);
     funcs.Add(gre);
     Less le = new Less();
     engine.declareFunction(le);
     funcs.Add(le);
     LessOrEqual leoe = new LessOrEqual();
     engine.declareFunction(leoe);
     funcs.Add(leoe);
     Log log = new Log();
     engine.declareFunction(log);
     funcs.Add(log);
     Max max = new Max();
     engine.declareFunction(max);
     funcs.Add(max);
     Min min = new Min();
     engine.declareFunction(min);
     funcs.Add(min);
     Multiply mul = new Multiply();
     engine.declareFunction(mul);
     funcs.Add(mul);
     NeqFunction neq = new NeqFunction();
     engine.declareFunction(neq);
     funcs.Add(neq);
     Oddp oddp = new Oddp();
     engine.declareFunction(oddp);
     funcs.Add(oddp);
     Pow pow = new Pow();
     engine.declareFunction(pow);
     funcs.Add(pow);
     Radians radians = new Radians();
     engine.declareFunction(radians);
     funcs.Add(radians);
     Random random = new Random();
     engine.declareFunction(random);
     funcs.Add(random);
     Rint rint = new Rint();
     engine.declareFunction(rint);
     funcs.Add(rint);
     Round round = new Round();
     engine.declareFunction(round);
     funcs.Add(round);
     Sin sin = new Sin();
     engine.declareFunction(sin);
     funcs.Add(sin);
     Sqrt sqrt = new Sqrt();
     engine.declareFunction(sqrt);
     funcs.Add(sqrt);
     Subtract sub = new Subtract();
     engine.declareFunction(sub);
     funcs.Add(sub);
     Tan tan = new Tan();
     engine.declareFunction(tan);
     funcs.Add(tan);
     // now we Add the functions under alias
     engine.declareFunction("+", add);
     engine.declareFunction("-", sub);
     engine.declareFunction("*", mul);
     engine.declareFunction("/", div);
     engine.declareFunction("**", pow);
     engine.declareFunction(">", gr);
     engine.declareFunction(">=", gre);
     engine.declareFunction("<", le);
     engine.declareFunction("<=", leoe);
 }
Esempio n. 5
0
        public virtual IReturnVector executeFunction(Rete engine, IParameter[] params_Renamed)
        {
            DefaultReturnVector ret = new DefaultReturnVector();
            bool add = false;
            if (engine.findFunction(name) == null)
            {
                // first we Get the actual function from the shell function
                IFunction[] functions = new IFunction[this.functions.Count];
                IParameter[][] parameters = new IParameter[this.functions.Count][];
                for (int i = 0; i < functions.Length; ++i)
                {
                    ShellFunction sf = (ShellFunction) this.functions[i];
                    functions[i] = engine.findFunction(sf.Name);
                    parameters[i] = sf.Parameters;
                }
                InterpretedFunction intrfunc = new InterpretedFunction(name, this.parameters, functions, parameters);
                intrfunc.configureFunction(engine);
                engine.declareFunction(intrfunc);
                add = true;
            }

            DefaultReturnValue rv = new DefaultReturnValue(Constants.BOOLEAN_OBJECT, add);
            ret.addReturnValue(rv);
            return ret;
        }
Esempio n. 6
0
 public virtual void loadFunctions(Rete engine)
 {
     AssertFunction assrt = new AssertFunction();
     engine.declareFunction(assrt);
     funcs.Add(assrt);
     AnyEqFunction anyeq = new AnyEqFunction();
     engine.declareFunction(anyeq);
     funcs.Add(anyeq);
     BindFunction bindf = new BindFunction();
     engine.declareFunction(bindf);
     funcs.Add(bindf);
     ClearFunction clr = new ClearFunction();
     engine.declareFunction(clr);
     funcs.Add(clr);
     DefclassFunction defcls = new DefclassFunction();
     engine.declareFunction(defcls);
     funcs.Add(defcls);
     DefmoduleFunction dmod = new DefmoduleFunction();
     engine.declareFunction(dmod);
     funcs.Add(dmod);
     DefruleFunction drule = new DefruleFunction();
     engine.declareFunction(drule);
     funcs.Add(drule);
     DefinstanceFunction defins = new DefinstanceFunction();
     engine.declareFunction(defins);
     funcs.Add(defins);
     DeftemplateFunction dtemp = new DeftemplateFunction();
     engine.declareFunction(dtemp);
     funcs.Add(dtemp);
     EchoFunction efunc = new EchoFunction();
     engine.declareFunction(efunc);
     funcs.Add(efunc);
     EqFunction eq = new EqFunction();
     engine.declareFunction(eq);
     funcs.Add(eq);
     EvalFunction eval = new EvalFunction();
     engine.declareFunction(eval);
     funcs.Add(eval);
     ExitFunction ext = new ExitFunction();
     engine.declareFunction(ext);
     funcs.Add(ext);
     FactsFunction ffun = new FactsFunction();
     engine.declareFunction(ffun);
     funcs.Add(ffun);
     FireFunction fire = new FireFunction();
     engine.declareFunction(fire);
     funcs.Add(fire);
     FocusFunction focus = new FocusFunction();
     engine.declareFunction(focus);
     funcs.Add(focus);
     ModulesFunction modules = new ModulesFunction();
     engine.declareFunction(modules);
     funcs.Add(modules);
     GenerateFactsFunction genff = new GenerateFactsFunction();
     engine.declareFunction(genff);
     funcs.Add(genff);
     GarbageCollectFunction gcf = new GarbageCollectFunction();
     engine.declareFunction(gcf);
     funcs.Add(gcf);
     LazyAgendaFunction laf = new LazyAgendaFunction();
     engine.declareFunction(laf);
     funcs.Add(laf);
     ListDirectoryFunction ldir = new ListDirectoryFunction();
     engine.declareFunction(ldir);
     funcs.Add(ldir);
     ListFunctionsFunction lffnc = new ListFunctionsFunction();
     engine.declareFunction(lffnc);
     engine.declareFunction("functions", lffnc);
     funcs.Add(lffnc);
     ListTemplatesFunction listTemp = new ListTemplatesFunction();
     engine.declareFunction(listTemp);
     funcs.Add(listTemp);
     LoadFunctionsFunction loadfunc = new LoadFunctionsFunction();
     engine.declareFunction(loadfunc);
     funcs.Add(loadfunc);
     LoadFunctionGroupFunction loadfg = new LoadFunctionGroupFunction();
     engine.declareFunction(loadfg);
     funcs.Add(loadfg);
     UsageFunction usage = new UsageFunction();
     engine.declareFunction(usage);
     funcs.Add(usage);
     MatchesFunction mf = new MatchesFunction();
     engine.declareFunction(mf);
     funcs.Add(mf);
     MemberTestFunction mtestf = new MemberTestFunction();
     engine.declareFunction(mtestf);
     funcs.Add(mtestf);
     MemoryFreeFunction mff = new MemoryFreeFunction();
     engine.declareFunction(mff);
     funcs.Add(mff);
     MemoryTotalFunction mtf = new MemoryTotalFunction();
     engine.declareFunction(mtf);
     funcs.Add(mtf);
     MemoryUsedFunction musd = new MemoryUsedFunction();
     engine.declareFunction(musd);
     funcs.Add(musd);
     MillisecondTime mstime = new MillisecondTime();
     engine.declareFunction(mstime);
     funcs.Add(mstime);
     ModifyFunction mod = new ModifyFunction();
     engine.declareFunction(mod);
     funcs.Add(mod);
     PPrintRuleFunction pprule = new PPrintRuleFunction();
     engine.declareFunction(pprule);
     funcs.Add(pprule);
     PPrintTemplateFunction pptemp = new PPrintTemplateFunction();
     engine.declareFunction(pptemp);
     funcs.Add(pptemp);
     PrintProfileFunction pproff = new PrintProfileFunction();
     engine.declareFunction(pproff);
     funcs.Add(pproff);
     ProfileFunction proff = new ProfileFunction();
     engine.declareFunction(proff);
     funcs.Add(proff);
     ResetFunction resetf = new ResetFunction();
     engine.declareFunction(resetf);
     funcs.Add(resetf);
     ResetFactsFunction resetff = new ResetFactsFunction();
     engine.declareFunction(resetff);
     funcs.Add(resetff);
     ResetObjectsFunction resetof = new ResetObjectsFunction();
     engine.declareFunction(resetof);
     funcs.Add(resetof);
     RetractFunction rtract = new RetractFunction();
     engine.declareFunction(rtract);
     funcs.Add(rtract);
     RightMatchesFunction rmfunc = new RightMatchesFunction();
     engine.declareFunction(rmfunc);
     funcs.Add(rmfunc);
     RulesFunction rf = new RulesFunction();
     engine.declareFunction(rf);
     engine.declareFunction(RulesFunction.LISTRULES, rf);
     funcs.Add(rf);
     SaveFactsFunction savefacts = new SaveFactsFunction();
     engine.declareFunction(savefacts);
     funcs.Add(savefacts);
     SetFocusFunction setfoc = new SetFocusFunction();
     engine.declareFunction(setfoc);
     funcs.Add(setfoc);
     SpoolFunction spool = new SpoolFunction();
     engine.declareFunction(spool);
     funcs.Add(spool);
     TemplatesFunction tempf = new TemplatesFunction();
     engine.declareFunction(tempf);
     engine.declareFunction(TemplatesFunction.LISTTEMPLATES, tempf);
     funcs.Add(tempf);
     TestRuleFunction trfunc = new TestRuleFunction();
     engine.declareFunction(trfunc);
     funcs.Add(trfunc);
     UnDefruleFunction udrule = new UnDefruleFunction();
     engine.declareFunction(udrule);
     funcs.Add(udrule);
     UnDeftemplateFunction udt = new UnDeftemplateFunction();
     engine.declareFunction(udt);
     funcs.Add(udt);
     UnWatchFunction uwatchf = new UnWatchFunction();
     engine.declareFunction(uwatchf);
     funcs.Add(uwatchf);
     UnProfileFunction uproff = new UnProfileFunction();
     engine.declareFunction(uproff);
     funcs.Add(uproff);
     ValidateRuleFunction vrf = new ValidateRuleFunction();
     engine.declareFunction(vrf);
     funcs.Add(vrf);
     VersionFunction ver = new VersionFunction();
     engine.declareFunction(ver);
     funcs.Add(ver);
     //ViewFunction view = new ViewFunction();
     //engine.declareFunction(view);
     //funcs.Add(view);
     WatchFunction watchf = new WatchFunction();
     engine.declareFunction(watchf);
     funcs.Add(watchf);
 }