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 <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 upperCaseValueRangeLexer = ValueRange.Create('\x41', '\x5A'); var lowerCaseValueRangeLexer = ValueRange.Create('\x61', '\x7A'); InnerLexer = Alternation.Create(upperCaseValueRangeLexer, lowerCaseValueRangeLexer); }
public override ILexer <Reserved> Create() { var innerLexer = Alternation.Create( GenericDelimiterLexerFactory.Create(), SubcomponentsDelimiterLexerFactory.Create()); return(new ReservedLexer(innerLexer)); }
public override ILexer <UriReference> Create() { var innerLexer = Alternation.Create( UriLexerFactory.Create(), RelativeReferenceLexerFactory.Create()); return(new UriReferenceLexer(innerLexer)); }
public override ILexer <ChunkExtensionValue> Create() { var innerLexer = Alternation.Create( Token.Create(), QuotedString.Create()); return(new ChunkExtensionValueLexer(innerLexer)); }
public override ILexer <FieldVisibleCharacter> Create() { var innerLexer = Alternation.Create( VisibleCharacterLexerFactory.Create(), ObsoleteTextLexerFactory.Create()); return(new FieldVisibleCharacterLexer(innerLexer)); }
public override ILexer <Host> Create() { var innerLexer = Alternation.Create( IPLiteralLexerFactory.Create(), IPv4AddressLexerFactory.Create(), RegisteredNameLexerFactory.Create()); return(new HostLexer(innerLexer)); }
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 <RequiredWhiteSpace> Create() { var innerLexer = Repetition.Create( Alternation.Create(SpaceFactory.Create(), HorizontalTabLexerFactory.Create()), 1, int.MaxValue); return(new RequiredWhiteSpaceLexer(innerLexer)); }
public override ILexer <RequestTarget> Create() { var innerLexer = Alternation.Create( OriginFormLexerFactory.Create(), AbsoluteFormLexerFactory.Create(), AuthorityFormLexerFactory.Create(), AsteriskFormLexerFactory.Create()); return(new RequestTargetLexer(innerLexer)); }
public override ILexer <Query> Create() { var alternationLexer = Alternation.Create( PathCharacterLexerFactory.Create(), Terminal.Create(@"/", StringComparer.Ordinal), Terminal.Create(@"?", StringComparer.Ordinal)); var fragmentRepetitionLexer = Repetition.Create(alternationLexer, 0, int.MaxValue); return(new QueryLexer(fragmentRepetitionLexer)); }
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 <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 <TransferCoding> Create() { var innerLexer = Alternation.Create( Terminal.Create(@"chunked", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"compress", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"deflate", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"gzip", StringComparer.OrdinalIgnoreCase), TransferExtensionLexerFactory.Create()); return(new TransferCodingLexer(innerLexer)); }
public override ILexer <Path> Create() { var innerLexer = Alternation.Create( PathAbsoluteOrEmptyLexerFactory.Create(), PathAbsoluteLexerFactory.Create(), PathNoSchemeLexerFactory.Create(), PathRootlessLexerFactory.Create(), PathEmptyLexerFactory.Create()); return(new PathLexer(innerLexer)); }
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)); }
public void Initialize() { InnerLexer = Alternation.Create( Grammar.Rule("DIGIT"), Terminal.Create(@"A", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"B", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"C", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"D", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"E", StringComparer.OrdinalIgnoreCase), Terminal.Create(@"F", StringComparer.OrdinalIgnoreCase)); }
public override ILexer <CommentText> Create() { var innerLexer = Alternation.Create( HorizontalTabLexerFactory.Create(), SpaceLexerFactory.Create(), ValueRange.Create(0x21, 0x27, Encoding.UTF8), ValueRange.Create(0x2A, 0x5B, Encoding.UTF8), ValueRange.Create(0x5D, 0x7E, Encoding.UTF8), ObsoleteTextLexerFactory.Create()); return(new CommentTextLexer(innerLexer)); }
public override ILexer <FieldValue> Create() { var innerLexer = Repetition.Create( Alternation.Create( FieldContentLexerFactory.Create(), ObsoleteFoldLexerFactory.Create()), 0, int.MaxValue) ; return(new FieldValueLexer(innerLexer)); }
public override ILexer <Unreserved> Create() { var innerLexer = Alternation.Create( AlphaLexerFactory.Create(), DigitLexerFactory.Create(), Terminal.Create(@"-", StringComparer.Ordinal), Terminal.Create(@".", StringComparer.Ordinal), Terminal.Create(@"_", StringComparer.Ordinal), Terminal.Create(@"~", StringComparer.Ordinal)); return(new UnreservedLexer(innerLexer)); }
public override ILexer <QuotedText> Create() { var innerLexer = Alternation.Create( HorizontalTabLexerFactory.Create(), SpaceLexerFactory.Create(), Terminal.Create(@"!", StringComparer.Ordinal), ValueRange.Create(0x23, 0x5B, Encoding.UTF8), ValueRange.Create(0x5D, 0x7E, Encoding.UTF8), ObsoleteTextLexerFactory.Create()); return(new QuotedTextLexer(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 <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 <ReasonPhrase> Create() { var innerLexer = Repetition.Create( Alternation.Create( HorizontalTabLexerFactory.Create(), SpaceLexerFactory.Create(), VisibleCharacterLexerFactory.Create(), ObsoleteTextLexerFactory.Create()), 0, int.MaxValue); return(new ReasonPhraseLexer(innerLexer)); }
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)); }
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 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)); }