public static ITextParser <Int32> Int32(this ITextParser parser) { if (parser == null) { throw new ArgumentNullException(nameof(parser)); } var integerParser = parser.Char(char.IsDigit).Or(parser.Char('-')).OneOrMore(); return(new ValueTypeParser <Int32>(integerParser, TryGetInt32)); }
public static ITextParser NewLine(this ITextParser parser) { if (parser == null) { throw new ArgumentNullException(nameof(parser)); } return(parser.Char('\r') .FirstOrDefault() .Char('\n') .Or(parser.Char('\x2028').Or(parser.Char('\x2029')))); }
public static ITextParser SkipWhitespace(this ITextParser parser) { if (parser == null) { throw new ArgumentNullException(nameof(parser)); } return(parser.Char(' ', '\t', '\r', '\n', '\x000C', '\x000B', '\x00A0', '\xFEFF').ZeroOrMore()); }