public void TestKeyword() { Assert.IsFalse(FactorParser.Keyword("func").TryParse("func").WasSuccessful); Assert.IsFalse(FactorParser.Keyword("func").TryParse(" func").WasSuccessful); Assert.IsTrue(FactorParser.Keyword("func").TryParse("func ").WasSuccessful); Assert.IsTrue(FactorParser.Keyword("func").TryParse(" func ").WasSuccessful); Assert.IsFalse(FactorParser.Keyword("func").TryParse("func1").WasSuccessful); }
private static Parser CreateParser() { // Create the object tree without DI Framework var expressionParser = new ExpressionParser(); var factorParser = new FactorParser(expressionParser); var termParser = new TermParser(factorParser); expressionParser.TermParser = termParser; var lexerRules = new LexerRules(); var tokenizer = new Tokenizer(lexerRules, s => new LexerReader(s), lexems => new LinePositionCalculator(lexems)); var tokenWalker = new TokenWalker(tokenizer, () => new EpsilonToken(), lexems => new LinePositionCalculator(lexems)); return(new Parser(tokenWalker, expressionParser)); }