예제 #1
0
        public static NFA StarNFA(NFA op)
        {
            AutomataStatus start = new AutomataStatus();
            AutomataStatus end   = new AutomataStatus();

            start.AddTransition((char)0, op.startStatus_);
            start.AddTransition((char)0, end);
            op.endStatus_.AddTransition((char)0, op.startStatus_);
            op.endStatus_.AddTransition((char)0, end);

            NFA nfa = new NFA();

            nfa.startStatus_ = start;
            nfa.endStatus_   = end;
            return(nfa);
        }
예제 #2
0
        public static NFA CreateFromInput(char input)
        {
            AutomataStatus start = new AutomataStatus();
            AutomataStatus end   = new AutomataStatus();

            start.AddTransition(input, end);

            NFA nfa = new NFA();

            nfa.startStatus_ = start;
            nfa.endStatus_   = end;

            return(nfa);
        }