public override ILexer <TransferCodingRank> Create()
        {
            var ows        = OptionalWhiteSpaceLexerFactory.Create();
            var innerLexer = Concatenation.Create(
                ows,
                Terminal.Create(@";", StringComparer.Ordinal),
                ows,
                Terminal.Create(@"q=", StringComparer.OrdinalIgnoreCase),
                RankLexerFactory.Create());

            return(new TransferCodingRankLexer(innerLexer));
        }
Beispiel #2
0
        public override ILexer <TransferExtension> Create()
        {
            var ows        = OptionalWhiteSpaceLexerFactory.Create();
            var innerLexer = Concatenation.Create(
                TokenLexerFactory.Create(),
                Repetition.Create(
                    Concatenation.Create(
                        ows,
                        Terminal.Create(@";", StringComparer.Ordinal),
                        ows,
                        TransferParameterLexerFactory.Create()),
                    0,
                    int.MaxValue));

            return(new TransferExtensionLexer(innerLexer));
        }
Beispiel #3
0
        public ILexer <RequiredDelimitedList> Create(ILexer <Element> lexer)
        {
            var delim      = TerminalLexerFactory.Create(@",", StringComparer.Ordinal);
            var ows        = OptionalWhiteSpaceLexerFactory.Create();
            var innerLexer =
                ConcatenationLexerFactory.Create(
                    RepetitionLexerFactory.Create(ConcatenationLexerFactory.Create(delim, ows), 0, int.MaxValue),
                    lexer,
                    RepetitionLexerFactory.Create(
                        ConcatenationLexerFactory.Create(
                            ows,
                            delim,
                            OptionLexerFactory.Create(ConcatenationLexerFactory.Create(ows, lexer))),
                        0,
                        int.MaxValue));

            return(new RequiredDelimitedListLexer(innerLexer));
        }