private string[,] NFAToTable(NondeterminedFiniteAutomaton nfa) { List <string> alphabet = new List <string>(nfa.GetAlphabet()); alphabet.Add(nfa.GetEpsilonName()); return(StrangeFunc((NamedAutomaton)nfa, new Func <string, string, string>( (source, symbol) => { List <string> tmp = nfa.GetTransitionDestinations(source, symbol).ToList(); if (tmp == null) { return "-"; } else { return string.Join(", ", tmp); } }), alphabet, nfa.GetStartStates())); }