Beispiel #1
0
        public override ILexer <PathCharacter> Create()
        {
            var innerLexer = Alternation.Create(
                UnreservedLexerFactory.Create(),
                PercentEncodingLexerFactory.Create(),
                SubcomponentsDelimiterLexerFactory.Create(),
                Terminal.Create(@":", StringComparer.Ordinal),
                Terminal.Create(@"@", StringComparer.Ordinal));

            return(new PathCharacterLexer(innerLexer));
        }
Beispiel #2
0
        public override ILexer <UserInformation> Create()
        {
            var innerLexer = Repetition.Create(
                Alternation.Create(
                    UnreservedLexerFactory.Create(),
                    PercentEncodingLexerFactory.Create(),
                    SubcomponentsDelimiterLexerFactory.Create(),
                    Terminal.Create(@":", StringComparer.Ordinal)),
                0,
                int.MaxValue);

            return(new UserInformationLexer(innerLexer));
        }
        public override ILexer <RegisteredName> Create()
        {
            var innerLexer =
                Repetition.Create(
                    Alternation.Create(
                        UnreservedLexerFactory.Create(),
                        PercentEncodingLexerFactory.Create(),
                        SubcomponentsDelimiterLexerFactory.Create()),
                    0,
                    int.MaxValue);

            return(new RegisteredNameLexer(innerLexer));
        }
Beispiel #4
0
        public override ILexer <SegmentNonZeroLengthNoColons> Create()
        {
            var alternationLexer = Alternation.Create(
                UnreservedLexerFactory.Create(),
                PercentEncodingLexerFactory.Create(),
                SubcomponentsDelimiterLexerFactory.Create(),
                Terminal.Create(@"@", StringComparer.Ordinal));
            var segmentNonZeroLengthNoColonsRepetitionLexer = Repetition.Create(
                alternationLexer,
                1,
                int.MaxValue);

            return(new SegmentNonZeroLengthNoColonsLexer(segmentNonZeroLengthNoColonsRepetitionLexer));
        }