public static List <string> CheckTests(string way, List <string> rules) { var parsedRules = Parser.ParseInput(File.OpenRead(way)); var factorizedRules = Factorization.RemoveFactorization(parsedRules); var removedRecursionRules = LeftRecursionRemover.RemoveLeftRecursion(factorizedRules); var leads = Leads.FindLeads(removedRecursionRules).ToList(); rules.AddRange(removedRecursionRules.Rules.Select((t, i) => t + " / " + ConvertLead(leads[i]))); return(rules); }