本文整理汇总了C#中Automaton.GetMovesTo方法的典型用法代码示例。如果您正苦于以下问题:C# Automaton.GetMovesTo方法的具体用法?C# Automaton.GetMovesTo怎么用?C# Automaton.GetMovesTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Automaton
的用法示例。
在下文中一共展示了Automaton.GetMovesTo方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: getSimpleSuffixes
internal static List<string> getSimpleSuffixes(Automaton<BDD> dfa, CharSetSolver solver)
{
if (!dfa.IsEpsilonFree)
return new List<string>();
List<string> strings = new List<string>();
foreach (var path in getSimplePaths(dfa))
{
var currStrs = new List<string>();
currStrs.Add("");
var p = new List<int>(path);
p.Reverse();
int prevNode = p.ElementAt(0);
p.RemoveAt(0);
foreach (int node in p)
{
foreach (var move in dfa.GetMovesTo(prevNode))
{
if (node == move.SourceState)
{
var newStrs = new List<string>();
foreach (var el in solver.GenerateAllCharacters(move.Label, false))
foreach (var str in currStrs)
{
newStrs.Add(el + str);
strings.Add(el + str);
}
currStrs = new List<string>(newStrs);
break;
}
}
prevNode = node;
}
}
return strings;
}
示例2: backwardDfsRec
private static void backwardDfsRec(Automaton<BDD> dfa, int currState, HashSet<int> discovered, HashSet<int> comp)
{
foreach (var move in dfa.GetMovesTo(currState))
{
if (!discovered.Contains(move.SourceState))
{
discovered.Add(move.SourceState);
backwardDfsRec(dfa, move.SourceState, discovered, comp);
}
}
comp.Add(currState);
}