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 <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 <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 <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 <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 <ReasonPhrase> Create() { var innerLexer = Repetition.Create( Alternation.Create( HorizontalTabLexerFactory.Create(), SpaceLexerFactory.Create(), VisibleCharacterLexerFactory.Create(), ObsoleteTextLexerFactory.Create()), 0, int.MaxValue); return(new ReasonPhraseLexer(innerLexer)); }
public void ReadSuccess(string input) { var factory = new HorizontalTabLexerFactory(new TerminalLexerFactory()); var lexer = factory.Create(); using (var scanner = new TextScanner(new StringTextSource(input))) { var result = lexer.Read(scanner); Assert.NotNull(result); Assert.True(result.Success); Assert.NotNull(result.Element); Assert.Equal(input, result.Element.Text); } }
public override ILexer <FieldContent> Create() { var fieldVChar = FieldVisibleCharacterLexerFactory.Create(); var innerLexer = Concatenation.Create( fieldVChar, Option.Create( Concatenation.Create( Repetition.Create( Alternation.Create( SpaceLexerFactory.Create(), HorizontalTabLexerFactory.Create()), 1, int.MaxValue), fieldVChar))); return(new FieldContentLexer(innerLexer)); }