Sprache Constructs customizable comment parsers. Single-line comment header. Newline character preference. Multi-line comment opener. Multi-line comment closer. Initializes a Comment with C-style headers and Windows newlines. Initializes a Comment with custom multi-line headers and newline characters. Single-line headers are made null, it is assumed they would not be used. Initializes a Comment with custom headers and newline characters. Parse a single-line comment. Parse a multi-line comment. Parse a comment. Single-line comment header. Newline character preference. Multi-line comment opener. Multi-line comment closer. Parse a single-line comment. Parse a multi-line comment. Parse a comment. Represents an input for parsing. Advances the input. A new that is advanced. The input is already at the end of the source. Gets the whole source. Gets the current . Gets a value indicating whether the end of the source is reached. Gets the current positon. Gets the current line number. Gets the current column. Memos used by this input Represents an input for parsing. Initializes a new instance of the class. The source. Advances the input. A new that is advanced. The input is already at the end of the source. Gets the whole source. Gets the current . Gets a value indicating whether the end of the source is reached. Gets the current positon. Gets the current line number. Gets the current column. Returns a string that represents the current object. A string that represents the current object. Serves as a hash function for a particular type. A hash code for the current . Determines whether the specified is equal to the current . true if the specified is equal to the current ; otherwise, false. The object to compare with the current object. Indicates whether the current is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Indicates whether the left is equal to the right . The left . The right . true if both objects are equal. Indicates whether the left is not equal to the right . The left . The right . true if the objects are not equal. An interface for objects that have a source . Type of the matched result. Set the start and the matched length. The start position The matched length. The matched result. Represents a parsing result. The result type. Gets the resulting value. Gets a value indicating whether wether parsing was successful. Gets the error message. Gets the parser expectations in case of error. Gets the remainder of the input. Represents an optional result. The result type. Gets a value indicating whether this instance is empty. Gets a value indicating whether this instance is defined. Gets the matched result or a default value. Gets the matched result. Extensions for . Gets the value or else returns a default value. The result type. The default value. Parsers and combinators. TryParse a single character matching 'predicate' Parse a single character except those matching . Characters not to match. Description of characters that don't match. A parser for characters except those matching . Parse a single character c. Parse a single character of any in c Parse a single character of any in c Parse a single character except c. Parses a single character except for those in the given parameters Parses a single character except for those in c Parse a single character in a case-insensitive fashion. Parse a string in a case-insensitive fashion. Parse any character. Parse a whitespace. Parse a digit. Parse a letter. Parse a letter or digit. Parse a lowercase letter. Parse an uppercase letter. Parse a numeric character. Parse a string of characters. Constructs a parser that will fail if the given parser succeeds, and will succeed if the given parser fails. In any case, it won't consume any input. It's like a negative look-ahead in regex. The result type of the given parser The parser to wrap A parser that is the opposite of the given parser. Parse first, and if successful, then parse second. Parse a stream of elements. Implemented imperatively to decrease stack usage. Parse a stream of elements, failing if any element is only partially parsed. The type of element to parse. A parser that matches a single element. A that matches the sequence. Using may be preferable to where the first character of each match identified by is sufficient to determine whether the entire match should succeed. The X* methods typically give more helpful errors and are easier to debug than their unqualified counterparts. TryParse a stream of elements with at least one item. TryParse a stream of elements with at least one item. Except the first item, all other items will be matched with the XMany operator. Parse end-of-input. Take the result of parsing, and project it onto a different domain. Parse the token, embedded in any amount of whitespace characters. Refer to another parser indirectly. This allows circular compile-time dependency between parsers. Convert a stream of characters to a string. Parse first, if it succeeds, return first, otherwise try second. Names part of the grammar for help with error messages. Parse first, if it succeeds, return first, otherwise try second. Assumes that the first parsed character will determine the parser chosen (see Try). Parse a stream of elements containing only one item. Concatenate two streams of elements. Succeed immediately and return value. Version of Return with simpler inline syntax. Attempt parsing only if the parser fails. Parse a sequence of items until a terminator is reached. Returns the sequence, discarding the terminator. Succeed if the parsed value matches predicate. Monadic combinator Then, adapted for Linq comprehension syntax. Chain a left-associative operator. Chain a left-associative operator. Chain a right-associative operator. Chain a right-associative operator. Parse a number. Parse a decimal number using the current culture's separator character. Parse a decimal number with separator '.'. Construct a parser that indicates the given parser is optional. The returned parser will succeed on any input no matter whether the given parser succeeds or not. Construct a parser that will set the position to the position-aware T on succsessful match. \n or \r\n line ending or end of input Parser for identifier starting with and continuing with Construct a parser from the given regular expression. The regex expression. Description of characters that don't match. a parse of string Construct a parser from the given regular expression. The regex expression. Description of characters that don't match. a parse of string Construct a parser from the given regular expression, returning a parser of type . The regex expression. Description of characters that don't match. A parser of regex match objects. Construct a parser from the given regular expression, returning a parser of type . The regex expression. Description of characters that don't match. A parser of regex match objects. Optimize the regex by only matching successfully at the start of the input. Do this by wrapping the whole regex in non-capturing parentheses preceded by a `^'. This method is invoked via reflection in unit tests. If renamed, the tests will need to be modified or they will fail. Fails on the first itemParser failure, if it reads at least one character. Represents an error that occurs during parsing. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The message that describes the error. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Represents a parser. The type of the result. The input to parse. The result of the parser. Contains some extension methods for . Tries to parse the input without throwing an exception. The type of the result. The parser. The input. The result of the parser Parses the specified input string. The type of the result. The parser. The input. The result of the parser. It contains the details of the parsing error. Represents a position in the input. Initializes a new instance of the class. The position. The line number. The column. Creates an new instance from a given object. The current input. A new instance. Gets the current positon. Gets the current line number. Gets the current column. Determines whether the specified is equal to the current . true if the specified is equal to the current ; otherwise, false. The object to compare with the current object. Indicates whether the current is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Indicates whether the left is equal to the right . The left . The right . true if both objects are equal. Indicates whether the left is not equal to the right . The left . The right . true if the objects are not equal. Serves as a hash function for a particular type. A hash code for the current . Returns a string that represents the current object. A string that represents the current object. Contains helper functions to create instances. Creates a success result. The type of the result (value). The sucessfully parsed value. The remainder of the input. The new . Creates a failure result. The type of the result. The remainder of the input. The error message. The parser expectations. The new .