for (BnfRule rule : myFile.getRules()) {
if (Rule.isPrivate(rule) || Rule.isFake(rule)) continue;
if (myRootRulesMap.containsKey(rule)) continue;
Map<PsiElement, RuleGraphHelper.Cardinality> contentRules = myRuleGraph.getFor(rule);
if (!contentRules.isEmpty()) continue;
if (!analyzer.asStrings(analyzer.calcFirst(rule)).contains(rule.getName())) continue;
ExpressionInfo expressionInfo = new ExpressionInfo(rule);
addToPriorityMap(rule, myRuleGraph.getExtendsRules(rule), expressionInfo);
List<BnfRule> rules = ParserGeneratorUtil.topoSort(expressionInfo.priorityMap.keySet(), myRuleGraph);
for (BnfRule r : rules) {