public void Initialize() { var cr = Grammar.Rule("CR"); var lf = Grammar.Rule("LF"); InnerLexer = Concatenation.Create(cr, lf); }
public override ILexer <IPvFuture> Create() { // "v" var v = Terminal.Create(@"v", StringComparer.OrdinalIgnoreCase); // "." var dot = Terminal.Create(@".", StringComparer.Ordinal); // ":" var colon = Terminal.Create(@":", StringComparer.Ordinal); // 1*HEXDIG var hexadecimalDigitLexer = HexadecimalDigitLexerFactory.Create(); var r = Repetition.Create(hexadecimalDigitLexer, 1, int.MaxValue); // unreserved / sub-delims / ":" var unreservedLexer = UnreservedLexerFactory.Create(); var subcomponentsDelimiterLexer = SubcomponentsDelimiterLexerFactory.Create(); var a = Alternation.Create(unreservedLexer, subcomponentsDelimiterLexer, colon); // 1*( unreserved / sub-delims / ":" ) var s = Repetition.Create(a, 1, int.MaxValue); // "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) var innerLexer = Concatenation.Create(v, r, dot, s); // IPvFuture return(new IPvFutureLexer(innerLexer)); }
public void Initialize() { var wsp = Grammar.Rule("WSP"); var crlf = Grammar.Rule("CRLF"); InnerLexer = Repetition.Create(Alternation.Create(wsp, Concatenation.Create(crlf, wsp)), 0, int.MaxValue); }
public override ILexer <IPLiteral> Create() { var a = Terminal.Create(@"[", StringComparer.Ordinal); var b = Terminal.Create(@"]", StringComparer.Ordinal); var alt = Alternation.Create(IPv6AddressLexerFactory.Create(), IPvFutureLexerFactory.Create()); var innerLexer = Concatenation.Create(a, alt, b); return(new IPLiteralLexer(innerLexer)); }
public override ILexer <ChunkedBody> Create() { var innerLexer = Concatenation.Create( Repetition.Create(ChunkLexerFactory.Create(), 0, int.MaxValue), LastChunkLexerFactory.Create(), TrailerPartLexerFactory.Create(), NewLineLexerFactory.Create()); return(new ChunkedBodyLexer(innerLexer)); }
public override ILexer <TrailerPart> Create() { var innerLexer = Repetition.Create( Concatenation.Create(HeaderFieldLexerFactory.Create(), NewLineLexerFactory.Create()), 0, int.MaxValue); return(new TrailerPartLexer(innerLexer)); }
public override ILexer <TransferCodingCollection> Create() { var innerLexer = Alternation.Create( Terminal.Create(@"trailers", StringComparer.OrdinalIgnoreCase), Concatenation.Create( TransferCodingLexerFactory.Create(), Option.Create(TransferCodingRankLexerFactory.Create()))); return(new TransferCodingCollectionLexer(innerLexer)); }
public override ILexer <PercentEncoding> Create() { var hexDigitLexer = HexadecimalDigitLexerFactory.Create(); var percentEncodingAlternationLexer = Concatenation.Create( Terminal.Create(@"%", StringComparer.Ordinal), hexDigitLexer, hexDigitLexer); return(new PercentEncodingLexer(percentEncodingAlternationLexer)); }
public override ILexer <ObsoleteFold> Create() { var innerLexer = Concatenation.Create( NewLineLexerFactory.Create(), Repetition.Create( Alternation.Create(SpaceLexerFactory.Create(), HorizontalTabLexerFactory.Create()), 1, int.MaxValue)); return(new ObsoleteFoldLexer(innerLexer)); }
public override ILexer <ReceivedProtocol> Create() { var innerLexer = Concatenation.Create( Option.Create( Concatenation.Create( ProtocolNameLexerFactory.Create(), Terminal.Create(@"/", StringComparer.Ordinal))), ProtocolVersionLexerFactory.Create()); return(new ReceivedProtocolLexer(innerLexer)); }
public override ILexer <Host> Create() { var innerLexer = Concatenation.Create( UriHostLexerFactory.Create(), Option.Create( Concatenation.Create( Terminal.Create(@":", StringComparer.Ordinal), PortLexerFactory.Create()))); return(new HostLexer(innerLexer)); }
public override ILexer <PartialUri> Create() { var innerLexer = Concatenation.Create( RelativePartLexerFactory.Create(), OptionalDelimitedListLexerFactory.Create( Concatenation.Create( Terminal.Create(@"?", StringComparer.Ordinal), QueryLexerFactory.Create()))); return(new PartialUriLexer(innerLexer)); }
public override ILexer <OriginForm> Create() { var innerLexer = Concatenation.Create( AbsolutePathLexerFactory.Create(), Option.Create( Concatenation.Create( Terminal.Create(@"?", StringComparer.Ordinal), QueryLexerFactory.Create()))); return(new OriginFormLexer(innerLexer)); }
public override ILexer <HeaderField> Create() { var ows = OptionalWhiteSpaceLexerFactory.Create(); var innerLexer = Concatenation.Create( FieldNameLexerFactory.Create(), Terminal.Create(@":", StringComparer.Ordinal), ows, FieldValueLexerFactory.Create(), ows); return(new HeaderFieldLexer(innerLexer)); }
public override ILexer <QuotedPair> Create() { var htab = HorizontalTabLexerFactory.Create(); var sp = SpaceLexerFactory.Create(); var vchar = VisibleCharacterLexerFactory.Create(); var obsText = ObsoleteTextLexerFactory.Create(); var innerLexer = Concatenation.Create( Terminal.Create(@"\", StringComparer.Ordinal), Alternation.Create(htab, sp, vchar, obsText)); return(new QuotedPairLexer(innerLexer)); }
public override ILexer <Authority> Create() { var at = Terminal.Create(@"@", StringComparer.Ordinal); var userinfoseq = Concatenation.Create(UserInformationLexerFactory.Create(), at); var optuserinfo = Option.Create(userinfoseq); var colon = Terminal.Create(@":", StringComparer.Ordinal); var portseq = Concatenation.Create(colon, PortLexerFactory.Create()); var optport = Option.Create(portseq); var innerLexer = Concatenation.Create(optuserinfo, HostLexerFactory.Create(), optport); return(new AuthorityLexer(innerLexer)); }
public override ILexer <HttpVersion> Create() { var digit = DigitLexerFactory.Create(); var innerLexer = Concatenation.Create( HttpNameLexerFactory.Create(), Terminal.Create(@"/", StringComparer.Ordinal), digit, Terminal.Create(@".", StringComparer.Ordinal), digit); return(new HttpVersionLexer(innerLexer)); }
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)); }
public override ILexer <LastChunk> Create() { var innerLexer = Concatenation.Create( Repetition.Create( Terminal.Create(@"0", StringComparer.Ordinal), 1, int.MaxValue), Option.Create(ChunkExtensionLexerFactory.Create()), NewLineLexerFactory.Create()); return(new LastChunkLexer(innerLexer)); }
public override ILexer <AbsolutePath> Create() { var innerLexer = Repetition.Create( Concatenation.Create( Terminal.Create(@"/", StringComparer.Ordinal), Segment.Create()), 1, int.MaxValue); return(new AbsolutePathLexer(innerLexer)); }
public override ILexer <RequestLine> Create() { var sp = SpaceLexerFactory.Create(); var innerLexer = Concatenation.Create( MethodLexerFactory.Create(), sp, RequestTargetLexerFactory.Create(), sp, HttpVersionLexerFactory.Create(), NewLineLexerFactory.Create()); return(new RequestLineLexer(innerLexer)); }
public override ILexer <QuotedString> Create() { var dquote = DoubleQuoteLexerFactory.Create(); var innerLexer = Concatenation.Create( dquote, Repetition.Create( Alternation.Create(QuotedTextLexerFactory.Create(), QuotedPairLexerFactory.Create()), 0, int.MaxValue), dquote); return(new QuotedStringLexer(innerLexer)); }
public override ILexer <ReceivedBy> Create() { var innerLexer = Alternation.Create( Concatenation.Create( UriHostLexerFactory.Create(), Option.Create( Concatenation.Create( Terminal.Create(@":", StringComparer.Ordinal), PortLexerFactory.Create()))), PseudonymLexerFactory.Create()); return(new ReceivedByLexer(innerLexer)); }
public override ILexer <PathRootless> Create() { var innerLexer = Concatenation.Create( SegmentNonZeroLengthLexerFactory.Create(), Repetition.Create( Concatenation.Create( Terminal.Create(@"/", StringComparer.Ordinal), SegmentLexerFactory.Create()), 0, int.MaxValue)); return(new PathRootlessLexer(innerLexer)); }
public override ILexer <StatusLine> Create() { var sp = SpaceLexerFactory.Create(); var innerLexer = Concatenation.Create( HttpVersionLexerFactory.Create(), sp, StatusCodeLexerFactory.Create(), sp, ReasonPhraseLexerFactory.Create(), NewLineLexerFactory.Create()); return(new StatusLineLexer(innerLexer)); }
public override ILexer <TransferParameter> Create() { var bws = BadWhiteSpaceLexerFactory.Create(); var token = TokenLexerFactory.Create(); var innerLexer = Concatenation.Create( token, bws, Terminal.Create(@"=", StringComparer.Ordinal), bws, Alternation.Create(token, QuotedStringLexerFactory.Create())); return(new TransferParameterLexer(innerLexer)); }
public void Initialize() { var number = Grammar.Rule("number"); var expression = Grammar.Rule("expression"); InnerLexer = Concatenation.Create( Option.Create(Terminal.Create("-", StringComparer.Ordinal)), Alternation.Create( number, Concatenation.Create( Terminal.Create("(", StringComparer.Ordinal), expression, Terminal.Create(")", StringComparer.Ordinal)))); }
public override ILexer <PathAbsoluteOrEmpty> Create() { // "/" var a = Terminal.Create(@"/", StringComparer.Ordinal); // "/" segment var c = Concatenation.Create(a, SegmentLexerFactory.Create()); // *( "/" segment ) var innerLexer = Repetition.Create(c, 0, int.MaxValue); // path-abempty return(new PathAbsoluteOrEmptyLexer(innerLexer)); }
public override ILexer <IPv4Address> Create() { // dec-octet var a = DecimaOctetLexerFactory.Create(); // "." var b = Terminal.Create(@".", StringComparer.Ordinal); // dec-octet "." dec-octet "." dec-octet "." dec-octet var innerLexer = Concatenation.Create(a, b, a, b, a, b, a); // IPv4address return(new IPv4AddressLexer(innerLexer)); }
public override ILexer <AbsoluteUri> Create() { var colon = Terminal.Create(@":", StringComparer.Ordinal); var qm = Terminal.Create(@"?", StringComparer.Ordinal); var queryPart = Concatenation.Create(qm, QueryLexerFactory.Create()); var optQuery = Option.Create(queryPart); var innerLexer = Concatenation.Create( SchemeLexerFactory.Create(), colon, HierarchicalPartLexerFactory.Create(), optQuery); return(new AbsoluteUriLexer(innerLexer)); }