#include ; void demoError(string sDemo) { print "demoError:" sDemo "\n"; } void demoBeforeBracket(FilterAnalyzer fa) { print ""; } void demoAfterBracket(FilterAnalyzer fa) { print ""; } void demoBeforeNot(FilterAnalyzer fa) { print ""; } void demoAfterNot(FilterAnalyzer fa) { print ""; } void demoBeforeAnd(FilterAnalyzer fa) { print ""; } void demoInsideAnd(FilterAnalyzer fa) { print " "; } void demoAfterAnd(FilterAnalyzer fa) { print ""; } void demoBeforeOr(FilterAnalyzer fa) { print ""; } void demoInsideOr(FilterAnalyzer fa) { print " "; } void demoAfterOr(FilterAnalyzer fa) { print ""; } void demoColumnFilter(FilterAnalyzer fa) { print ""; } void analyzeFilter_Test() { static string sModuleID = "000149e1"; Module mdlWork = read(fullName(itemFromID(sModuleID)), true, true); FilterAnalyzer fa = createFilterAnalyzer(mdlWork); addParseReactionError(fa, demoError); addComplexFilterBracketReactions(fa, demoBeforeBracket, demoAfterBracket); addParseReactionForAnd(fa, demoBeforeAnd, demoInsideAnd, demoAfterAnd) addParseReactionForNot(fa, demoBeforeNot, demoAfterNot) addParseReactionForOr(fa, demoBeforeOr, demoInsideOr, demoAfterOr); addColumnFilterReaction(fa, demoColumnFilter); View viewWork0 = view(itemFromID(sModuleID), "FilterColumns"); load(mdlWork, viewWork0); Filter fltrWork = current; string sHelp = stringOf(mdlWork, fltrWork); print sHelp "\n\n\n"; analyzeFilter(fa, fltrWork); } analyzeFilter_Test();