コード例 #1
0
ファイル: DFADriver.cs プロジェクト: codeblooded/dfa
        /// <summary>
        /// The entry point of the program, where the program control starts and ends.
        /// </summary>
        /// <param name="args">The command-line arguments.</param>
        public static void Main(string[] args)
        {
            int  [] states = {1, 2, 3 };
            int  [] F = {3};
            char [] ch = {'a', 'b'};

            Dictionary<Tuple<int, char>, int> d = new Dictionary<Tuple<int, char>, int>()
            {
                {new Tuple<int, char>(1, ch[0]), 2},
                {new Tuple<int, char>(1, ch[1]), 1},

                {new Tuple<int, char>(2, ch[0]), 2},
                {new Tuple<int, char>(2, ch[1]), 3},

                {new Tuple<int, char>(3, ch[0]), 3},
                {new Tuple<int, char>(3, ch[1]), 3},
            };

            DFA M = new DFA(states, ch, d, 1, F);
            M.print();

            string s = "aaaaab";
            Console.WriteLine("M {0} {1}", M.recognizes(s) ? "accepts" : "rejects", s);

            s = "baa";
            Console.WriteLine("M {0} {1}", M.recognizes(s) ? "accepts" : "rejects", s);
        }
コード例 #2
0
ファイル: DFATests.cs プロジェクト: codeblooded/dfa
        public void Setup()
        {
            int  [] states = {1, 2, 3 };
            int  [] F = {3};
            char [] ch = {'a', 'b'};

            Dictionary<Tuple<int, char>, int> d = new Dictionary<Tuple<int, char>, int>()
            {
                {new Tuple<int, char>(1, ch[0]), 2},
                {new Tuple<int, char>(1, ch[1]), 1},

                {new Tuple<int, char>(2, ch[0]), 2},
                {new Tuple<int, char>(2, ch[1]), 3},

                {new Tuple<int, char>(3, ch[0]), 3},
                {new Tuple<int, char>(3, ch[1]), 3},
            };

            M = new DFA(states, ch, d, 1, F);
        }
コード例 #3
0
ファイル: DFATests.cs プロジェクト: codeblooded/dfa
 public void TearDown()
 {
     M = null;
 }