void DoIdpt() { graph = new LGSPGraph(new IndependentGraphModel()); actions = new IndependentActions(graph); procEnv = new LGSPGraphProcessingEnvironment(graph, actions); procEnv.ApplyGraphRewriteSequence("create"); Console.WriteLine(procEnv.PerformanceInfo.MatchesFound + " matches found."); Console.WriteLine(procEnv.PerformanceInfo.RewritesPerformed + " rewrites performed."); procEnv.PerformanceInfo.Reset(); IMatches matches = actions.GetAction("findIndependent").Match(procEnv, 0, null); Console.WriteLine(matches.Count + " matches found."); graph.Clear(); procEnv.ApplyGraphRewriteSequence("createIterated"); Console.WriteLine(procEnv.PerformanceInfo.MatchesFound + " matches found."); Console.WriteLine(procEnv.PerformanceInfo.RewritesPerformed + " rewrites performed."); procEnv.PerformanceInfo.Reset(); IAction_createIterated createIterated = actions.createIterated; IMatchesExact<Rule_createIterated.IMatch_createIterated> matchesCreateIterated = createIterated.Match(procEnv, 0); IintNode beg; INode end; createIterated.Modify(procEnv, matchesCreateIterated.FirstExact, out beg, out end); IMatchesExact<Rule_findChainPlusChainToIntIndependent.IMatch_findChainPlusChainToIntIndependent> matchesFindChain = actions.findChainPlusChainToIntIndependent.Match(procEnv, 0, beg, end); Console.WriteLine(matchesFindChain.Count + " matches found."); }
void DoIdpt() { graph = new LGSPGraph(new IndependentGraphModel()); actions = new IndependentActions(graph); procEnv = new LGSPGraphProcessingEnvironment(graph, actions); procEnv.ApplyGraphRewriteSequence("create"); Console.WriteLine(procEnv.PerformanceInfo.MatchesFound + " matches found."); Console.WriteLine(procEnv.PerformanceInfo.RewritesPerformed + " rewrites performed."); procEnv.PerformanceInfo.Reset(); IMatches matches = actions.GetAction("findIndependent").Match(procEnv, 0, null); Console.WriteLine(matches.Count + " matches found."); graph.Clear(); procEnv.ApplyGraphRewriteSequence("createIterated"); Console.WriteLine(procEnv.PerformanceInfo.MatchesFound + " matches found."); Console.WriteLine(procEnv.PerformanceInfo.RewritesPerformed + " rewrites performed."); procEnv.PerformanceInfo.Reset(); IAction_createIterated createIterated = actions.createIterated; IMatchesExact <Rule_createIterated.IMatch_createIterated> matchesCreateIterated = createIterated.Match(procEnv, 0); IintNode beg; INode end; createIterated.Modify(procEnv, matchesCreateIterated.FirstExact, out beg, out end); IMatchesExact <Rule_findChainPlusChainToIntIndependent.IMatch_findChainPlusChainToIntIndependent> matchesFindChain = actions.findChainPlusChainToIntIndependent.Match(procEnv, 0, beg, end); Console.WriteLine(matchesFindChain.Count + " matches found."); }