Represents the state and context of a parsing operation, containing the input string as well as positional information.
- Companion:
- object
Type members
Types
Value members
Abstract methods
Indicates whether this contexts offset is behind the last character of the input string
Indicates whether this contexts offset is behind the last character of the input string
Captures a string containing the specified number of characters from the current offset. If the number of remaining characters is less than the specified number, all remaining characters will be returned.
Captures a string containing the specified number of characters from the current offset. If the number of remaining characters is less than the specified number, all remaining characters will be returned.
Consumes the specified number of characters, returning a new SourceCursor
with the new offset.
Consumes the specified number of characters, returning a new SourceCursor
with the new offset.
The full input string, containing the string portions before and after the current offset.
The full input string, containing the string portions before and after the current offset.
The nest level of this cursor in case of recursive parsing.
The nest level of this cursor in case of recursive parsing.
Create a new instance of this cursor with the nestLevel incremented.
Create a new instance of this cursor with the nestLevel incremented.
The offset of this cursor from the start of the source.
The offset of this cursor from the start of the source.
Indicates the number of characters remaining in the input string after the current offset.
Indicates the number of characters remaining in the input string after the current offset.
Returns a new SourceCursor
with the input string being reversed,
but pointing to the same character as this context.
Returns a new SourceCursor
with the input string being reversed,
but pointing to the same character as this context.
This is a low-level optimization for parsers that look for strings like email addresses where the first character
is not significant, so that parsing backwards from any @
encountered in the input provided better performance.