Example #1
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);
        }
Example #2
0
        public virtual void loadFunctions(Rete engine)
        {
            BatchFunction b = new BatchFunction();

            engine.declareFunction(b);
            funcs.Add(b);
            LoadFactsFunction load = new LoadFactsFunction();

            engine.declareFunction(load);
            funcs.Add(load);
            PrintFunction pf = new PrintFunction();

            engine.declareFunction(pf);
            funcs.Add(pf);
        }
Example #3
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);
        }
        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);
        }
Example #5
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);
        }
Example #6
0
        public virtual void loadFunctions(Rete engine)
        {
            ClassnameResolver   classnameResolver = new ClassnameResolver(engine);
            LoadPackageFunction loadpkg           = new LoadPackageFunction(classnameResolver);

            engine.declareFunction(loadpkg);
            funcs.Add(loadpkg);
            NewFunction nf = new NewFunction(classnameResolver);

            engine.declareFunction(nf);
            funcs.Add(nf);
            MemberFunction mf = new MemberFunction(classnameResolver);

            engine.declareFunction(mf);
            funcs.Add(mf);
            InstanceofFunction iof = new InstanceofFunction(classnameResolver);

            engine.declareFunction(iof);
            funcs.Add(iof);
        }
Example #7
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);
        }
Example #8
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);
        }