コード例 #1
0
        public void EndOfStringAssertionTest(string input, bool expected)
        {
            string pattern = "^fooa$";
            var    target  = NFA.Sequence(NFA.Sequence("fooa"), NFA.EndOfStringAssertion());

            Test(input, expected, target, pattern);
        }
コード例 #2
0
        public void StartAndEndOfStringAssertionMidPatternTest(string input, bool expected)
        {
            string pattern = "^ab+$";
            var    target  = NFA.Sequence(
                NFA.StartOfStringAssertion(),
                NFA.Character('a'),
                NFA.OneOrMany(
                    NFA.Character('b')
                    ),
                NFA.EndOfStringAssertion()
                );

            Test(input, expected, target, pattern);
        }
コード例 #3
0
        public void EndOfStringAssertionMidPatternTest(string input, bool expected)
        {
            string pattern = "^(a|b*$|c)$";
            var    target  = NFA.Alternation(
                NFA.Character('a'),
                NFA.Sequence(
                    NFA.ZeroOrMany(
                        NFA.Character('b')
                        ),
                    NFA.EndOfStringAssertion()
                    ),
                NFA.Character('c')
                );

            Test(input, expected, target, pattern);
        }
コード例 #4
0
 public void Visit(EndOfInput target)
 {
     stack.Push(NFA.EndOfStringAssertion());
 }