public Action_testRule() { _rulePattern = Rule_testRule.Instance; patternGraph = _rulePattern.patternGraph; DynamicMatch = myMatch; ReturnArray = new object[0]; matches = new GRGEN_LGSP.LGSPMatchesList <Rule_testRule.Match_testRule, Rule_testRule.IMatch_testRule>(this); }
public bool ApplyStar(GRGEN_LIBGR.IActionExecutionEnvironment actionEnv) { GRGEN_LIBGR.IMatchesExact <Rule_testRule.IMatch_testRule> matches; while (true) { matches = DynamicMatch((GRGEN_LGSP.LGSPActionExecutionEnvironment)actionEnv, 1); if (matches.Count <= 0) { return(true); } _rulePattern.Modify((GRGEN_LGSP.LGSPActionExecutionEnvironment)actionEnv, matches.First); } }
public bool ApplyMinMax(GRGEN_LIBGR.IActionExecutionEnvironment actionEnv, int min, int max) { GRGEN_LIBGR.IMatchesExact <Rule_testRule.IMatch_testRule> matches; for (int i = 0; i < max; i++) { matches = DynamicMatch((GRGEN_LGSP.LGSPActionExecutionEnvironment)actionEnv, 1); if (matches.Count <= 0) { return(i >= min); } _rulePattern.Modify((GRGEN_LGSP.LGSPActionExecutionEnvironment)actionEnv, matches.First); } return(true); }
public bool ApplyPlus(GRGEN_LIBGR.IActionExecutionEnvironment actionEnv) { GRGEN_LIBGR.IMatchesExact <Rule_testRule.IMatch_testRule> matches = DynamicMatch((GRGEN_LGSP.LGSPActionExecutionEnvironment)actionEnv, 1); if (matches.Count <= 0) { return(false); } do { _rulePattern.Modify((GRGEN_LGSP.LGSPActionExecutionEnvironment)actionEnv, matches.First); matches = DynamicMatch((GRGEN_LGSP.LGSPActionExecutionEnvironment)actionEnv, 1); }while(matches.Count > 0); return(true); }