public virtual string GetDecisionStatsDump()
{
StringBuilder buf = new StringBuilder();
buf.Append("location");
buf.Append(DataSeparator);
buf.Append("n");
buf.Append(DataSeparator);
buf.Append("avgk");
buf.Append(DataSeparator);
buf.Append("maxk");
buf.Append(DataSeparator);
buf.Append("synpred");
buf.Append(DataSeparator);
buf.Append("sempred");
buf.Append(DataSeparator);
buf.Append("canbacktrack");
buf.Append("\n");
foreach (string fileName in decisions.KeySet())
{
foreach (int d in decisions.KeySet(fileName))
{
DecisionDescriptor s = decisions.Get(fileName, d);
buf.Append(s.decision);
buf.Append("@");
buf.Append(LocationDescription(s.fileName, s.ruleName, s.line, s.pos)); // decision number
buf.Append(DataSeparator);
buf.Append(s.n);
buf.Append(DataSeparator);
buf.Append(string.Format("{0}", s.avgk));
buf.Append(DataSeparator);
buf.Append(s.maxk);
buf.Append(DataSeparator);
buf.Append(s.numBacktrackOccurrences);
buf.Append(DataSeparator);
buf.Append(s.numSemPredEvals);
buf.Append(DataSeparator);
buf.Append(s.couldBacktrack ? "1" : "0");
buf.Append(NewLine);
}
}
return buf.ToString();
}