Пример #1
0
        public void CreatesParsersFromLambdas()
        {
            var succeeds = new LambdaParser<string>(tokens => new Parsed<string>("AA", tokens.Advance().Advance()));
            succeeds.PartiallyParses(new CharLexer().Tokenize("AABB")).LeavingUnparsedTokens("B", "B").WithValue("AA");

            var fails = new LambdaParser<string>(tokens => new Error<string>(tokens, ErrorMessage.Unknown()));
            fails.FailsToParse(new CharLexer().Tokenize("AABB")).LeavingUnparsedTokens("A", "A", "B", "B").WithMessage("(1, 1): Parse error.");
        }
Пример #2
0
        public void CreatesParsersFromLambdas()
        {
            var succeeds = new LambdaParser <string>(tokens => new Success <string>("AA", tokens.Advance().Advance()));

            succeeds.PartiallyParses(new CharLexer().Tokenize("AABB")).LeavingUnparsedTokens("B", "B").WithValue("AA");

            var fails = new LambdaParser <string>(tokens => new Failure <string>(tokens, FailureMessage.Unknown()));

            fails.FailsToParse(new CharLexer().Tokenize("AABB")).LeavingUnparsedTokens("A", "A", "B", "B").WithMessage("(1, 1): Parsing failed.");
        }