public void RegexToDfaShouldConvertCharacterRegexToDfa() { var pattern = "a"; var dfa = CreateDfaFromRegexPattern(pattern); Assert.IsNotNull(dfa); var lexerRule = new DfaLexerRule(dfa, "a"); var lexeme = new DfaLexemeFactory().Create(lexerRule, 0); Assert.IsTrue(lexeme.Scan('a')); }
public void RegexToDfaShouldConvertCharacterRegexToDfa() { var pattern = "a"; var regex = new RegexParser().Parse(pattern); var nfa = new ThompsonConstructionAlgorithm().Transform(regex); var dfa = new SubsetConstructionAlgorithm().Transform(nfa); Assert.IsNotNull(dfa); var lexerRule = new DfaLexerRule(dfa, "a"); var lexeme = new DfaLexemeFactory().Create(lexerRule, 0); Assert.IsTrue(lexeme.Scan('a')); }