LimitedRepeatingParser<R> class abstract

An abstract parser that repeatedly parses between 'min' and 'max' instances of its delegate and that requires the input to be completed with a specified parser 'limit'.

Subclasses provide repeating behavior as typically seen in regular expression implementations (non-blind).

Inheritance
Available extensions

Constructors

LimitedRepeatingParser(Parser<R> delegate, Parser<void> limit, int min, int max)

Properties

children → List<Parser>
The list of directly referenced parsers.
no setteroverride
delegate ↔ Parser<R>
The parser this parser delegates to.
getter/setter pairinherited
hashCode → int
The hash code for this object.
no setterinherited
limit ↔ Parser<void>
Parser restraining further consumption of the delegate parser.
getter/setter pair
max → int
The maximum amount of repetitions, or unbounded.
finalinherited
min → int
The minimum amount of repetitions.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

copy() → Parser<List<R>>
Creates a shallow copy of this parser.
inherited
fastParseOn(String buffer, int position) → int
Parses buffer starting at position without allocating a Result.
inherited
hasEqualChildren(covariant Parser other, Set<Parser> seen) → bool
Compares the children of this parser with other.
inherited
hasEqualProperties(covariant RepeatingParser<R, List<R>> other) → bool
Compares the properties of this parser with other.
inherited
isEqualTo(Parser other, [Set<Parser>? seen]) → bool
Tests if this parser is structurally equal to other.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parse(String input, {int start = 0}) → Result<List<R>>
Parses the input and returns the parse result.
inherited
parseOn(Context context) → Result<List<R>>
Parses the given context.
inherited
permute(List<int> indexes) → Parser<List<R>>

Available on Parser<List<R>>, provided by the PermuteParserExtension extension

Returns a parser that transforms a successful parse result by returning the permuted elements at indexes of a list.
pick(int index) → Parser<R>

Available on Parser<List<R>>, provided by the PickParserExtension extension

Returns a parser that transforms a successful parse result by returning the element at index of a list.
replace(Parser source, Parser target) → void
Replaces source with target in this parser.
override
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited