public AddingBTransition(CoreDefinitions.IOptionalAutomaton optionalAutomaton, bool[] isVertInAcTab)
 {
     automata   = optionalAutomaton;
     n          = optionalAutomaton.TransitionFunctionsA.Length;
     isVertInAc = new bool[n];
     for (int i = 0; i < n; i++)
     {
         isVertInAc[automata.TransitionFunctionsA[i]] = true;
     }
 }
        public MakingFullAutomata(CoreDefinitions.IOptionalAutomaton optionalAutomata, List <byte>[] transFromA, List <byte>[] help)
        {
            automata = optionalAutomata;

            n = optionalAutomata.TransitionFunctionsA.Length;
            TransitionsFromA = transFromA;
            for (byte i = 0; i < n; i++)
            {
                TransitionsFromA[i].Clear();
            }
            for (byte i = 0; i < n; i++)
            {
                TransitionsFromA[automata.TransitionFunctionsA[i]].Add(i);
            }

            helpList = help;
            for (int i = 0; i < n; i++)
            {
                helpList[i] = automata.TransitionFunctionsB[i] == CoreDefinitions.OptionalAutomaton.MissingTransition ? null : TransitionsFromA[automata.TransitionFunctionsB[i]];
            }
        }
예제 #3
0
 public static void PrintA(CoreDefinitions.IOptionalAutomaton automata)
 {
     PrintAPart(automata.TransitionFunctionsA);
 }