// create a the context for walking operators
OpWalkerInfo opWalkerInfo = new OpWalkerInfo(opToParseCtxMap);
Map<Rule, NodeProcessor> opRules = new LinkedHashMap<Rule, NodeProcessor>();
opRules.put(new RuleRegExp("R1", "FIL%"), OpProcFactory.getFilterProc());
opRules.put(new RuleRegExp("R3", "JOIN%"), OpProcFactory.getJoinProc());
opRules.put(new RuleRegExp("R4", "RS%"), OpProcFactory.getRSProc());
opRules.put(new RuleRegExp("R5", "TS%"), OpProcFactory.getTSProc());
opRules.put(new RuleRegExp("R6", "SCR%"), OpProcFactory.getSCRProc());
opRules.put(new RuleRegExp("R6", "LIM%"), OpProcFactory.getLIMProc());
// The dispatcher fires the processor corresponding to the closest matching rule and passes the context along
Dispatcher disp = new DefaultRuleDispatcher(OpProcFactory.getDefaultProc(), opRules, opWalkerInfo);
GraphWalker ogw = new DefaultGraphWalker(disp);