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 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 <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)); }