public virtual void Check()
{
foreach (RuleStartState start in atn.ruleToStartState)
{
//System.out.print("check "+start.rule.name);
rulesVisitedPerRuleCheck.Clear();
rulesVisitedPerRuleCheck.Add(start);
//FASerializer ser = new FASerializer(atn.g, start);
//System.out.print(":\n"+ser+"\n");
Check(g.GetRule(start.ruleIndex), start, new HashSet<ATNState>());
}
//System.out.println("cycles="+listOfRecursiveCycles);
if (listOfRecursiveCycles.Count > 0)
{
g.tool.errMgr.LeftRecursionCycles(g.fileName, listOfRecursiveCycles);
}
}