/** Given list of X and r refs in alt, compute how many of each there are */ protected virtual System.Tuple <FrequencySet <string>, FrequencySet <string> > GetElementFrequenciesForAlt(AltAST ast) { try { ElementFrequenciesVisitor visitor = new ElementFrequenciesVisitor(rule.g, new CommonTreeNodeStream(new GrammarASTAdaptor(), ast)); visitor.outerAlternative(); if (visitor.frequencies.Count != 1) { factory.GetGrammar().tool.errMgr.ToolError(ErrorType.INTERNAL_ERROR); return(Tuple.Create(new FrequencySet <string>(), new FrequencySet <string>())); } return(Tuple.Create(visitor.GetMinFrequencies(), visitor.frequencies.Peek())); } catch (RecognitionException ex) { factory.GetGrammar().tool.errMgr.ToolError(ErrorType.INTERNAL_ERROR, ex); return(Tuple.Create(new FrequencySet <string>(), new FrequencySet <string>())); } }
/** Given list of X and r refs in alt, compute how many of each there are */ protected virtual System.Tuple<FrequencySet<string>, FrequencySet<string>> GetElementFrequenciesForAlt(AltAST ast) { try { ElementFrequenciesVisitor visitor = new ElementFrequenciesVisitor(rule.g, new CommonTreeNodeStream(new GrammarASTAdaptor(), ast)); visitor.outerAlternative(); if (visitor.frequencies.Count != 1) { factory.GetGrammar().tool.errMgr.ToolError(ErrorType.INTERNAL_ERROR); return Tuple.Create(new FrequencySet<string>(), new FrequencySet<string>()); } return Tuple.Create(visitor.GetMinFrequencies(), visitor.frequencies.Peek()); } catch (RecognitionException ex) { factory.GetGrammar().tool.errMgr.ToolError(ErrorType.INTERNAL_ERROR, ex); return Tuple.Create(new FrequencySet<string>(), new FrequencySet<string>()); } }