コード例 #1
0
        public RuleEngine(RuleSet ruleSet, IRuleCompiler ruleCompiler)
        {
            foreach (Rule rule in ruleSet.Rules)
            {
                RuleResult         ruleResult        = new RuleResult(rule.Code, rule.Message);
                ISpecification <T> ruleSpecification = ruleCompiler.Compile <T>(rule);

                _ruleSpecifications.Add(ruleResult, ruleSpecification);
            }
        }
コード例 #2
0
 public DefaultWM(Rete engine, RootNode node, IRuleCompiler compiler)
 {
     InitBlock();
     this.engine   = engine;
     root          = node;
     this.compiler = compiler;
     this.compiler.WorkingMemory = this;
     agenda = new Agenda(engine);
     init();
 }
コード例 #3
0
 public static CompilerProvider getInstance(IRuleCompiler ruleCompiler)
 {
     if (compilerProvider == null)
     {
         objectConditionCompiler   = new ObjectConditionCompiler(ruleCompiler);
         existConditionCompiler    = new ExistConditionCompiler(objectConditionCompiler);
         temporalConditionCompiler = new TemporalConditionCompiler(ruleCompiler);
         testConditionCompiler     = new TestConditionCompiler(ruleCompiler);
         compilerProvider          = new CompilerProvider();
     }
     return(compilerProvider);
 }
コード例 #4
0
 public static CompilerProvider getInstance(IRuleCompiler ruleCompiler)
 {
     if (compilerProvider == null)
     {
         objectConditionCompiler = new ObjectConditionCompiler(ruleCompiler);
         existConditionCompiler = new ExistConditionCompiler(objectConditionCompiler);
         temporalConditionCompiler = new TemporalConditionCompiler(ruleCompiler);
         testConditionCompiler = new TestConditionCompiler(ruleCompiler);
         compilerProvider = new CompilerProvider();
     }
     return compilerProvider;
 }
コード例 #5
0
ファイル: ValidationProvider.cs プロジェクト: jmlopez/Valcon
 public ValidationProvider(ValidationGraph graph, IRuleCompiler ruleCompiler)
 {
     _graph = graph;
     _ruleCompiler = ruleCompiler;
 }
コード例 #6
0
 public virtual IConditionCompiler getCompiler(IRuleCompiler ruleCompiler)
 {
     CompilerProvider.getInstance(ruleCompiler);
     return CompilerProvider.testConditionCompiler;
 }
コード例 #7
0
 public DefaultWM(Rete engine, RootNode node, IRuleCompiler compiler)
 {
     InitBlock();
     this.engine = engine;
     root = node;
     this.compiler = compiler;
     this.compiler.WorkingMemory = this;
     agenda = new Agenda(engine);
     init();
 }
コード例 #8
0
 public TemporalConditionCompiler(IRuleCompiler ruleCompiler) : base(ruleCompiler)
 {
 }
コード例 #9
0
        /// <summary> 
        /// </summary>
        public Rete()
        {
            InitBlock();
            compiler = new DefaultRuleCompiler(this, root.ObjectTypeNodes);
            workingMem = new DefaultWM(this, root, compiler);
            //CollectionFactory.init();
            init();
            startLog();

            compiler.RuleAdded += ruleAdded;
            compiler.RuleRemoved += ruleRemoved;
            compiler.CompileError += compileError;
        }
コード例 #10
0
 public TemporalConditionCompiler(IRuleCompiler ruleCompiler)
     : base(ruleCompiler)
 {
 }
コード例 #11
0
 public virtual IConditionCompiler getCompiler(IRuleCompiler ruleCompiler)
 {
     CompilerProvider.getInstance(ruleCompiler);
     return(CompilerProvider.testConditionCompiler);
 }
コード例 #12
0
 public GrammarReader(IRuleCompiler compiler)
 {
     Compiler = compiler;
 }
コード例 #13
0
 public ObjectConditionCompiler(IRuleCompiler ruleCompiler)
 {
     this.ruleCompiler = (DefaultRuleCompiler) ruleCompiler;
 }
コード例 #14
0
 public abstract IConditionCompiler getCompiler(IRuleCompiler ruleCompiler);
コード例 #15
0
 public virtual IConditionCompiler getCompiler(IRuleCompiler ruleCompiler)
 {
     // TODO Auto-generated method stub
     return null;
 }
コード例 #16
0
 public override IConditionCompiler getCompiler(IRuleCompiler ruleCompiler)
 {
     CompilerProvider.getInstance(ruleCompiler);
     return(CompilerProvider.temporalConditionCompiler);
 }
コード例 #17
0
 public virtual IConditionCompiler getCompiler(IRuleCompiler ruleCompiler)
 {
     // TODO Auto-generated method stub
     return(null);
 }
コード例 #18
0
 public ObjectConditionCompiler(IRuleCompiler ruleCompiler)
 {
     this.ruleCompiler = (DefaultRuleCompiler)ruleCompiler;
 }
コード例 #19
0
 public override IConditionCompiler getCompiler(IRuleCompiler ruleCompiler)
 {
     CompilerProvider.getInstance(ruleCompiler);
     return CompilerProvider.objectConditionCompiler;
 }