public void EndOfStringAssertionTest(string input, bool expected) { string pattern = "^fooa$"; var target = NFA.Sequence(NFA.Sequence("fooa"), NFA.EndOfStringAssertion()); Test(input, expected, target, pattern); }
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); }
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); }
public void Visit(EndOfInput target) { stack.Push(NFA.EndOfStringAssertion()); }