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
-
- Object
- Parser<
List< R> > - DelegateParser<
R, List< R> > - RepeatingParser<
R, List< R> > - LimitedRepeatingParser
- 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
bufferstarting atpositionwithout 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< other) → boolR> > -
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
inputand 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<
Returns a parser that transforms a successful parse result by returning the permuted elements atList< , provided by the PermuteParserExtension extensionR> >indexesof a list. -
pick(
int index) → Parser< R> -
Available on Parser<
Returns a parser that transforms a successful parse result by returning the element atList< , provided by the PickParserExtension extensionR> >indexof a list. -
replace(
Parser source, Parser target) → void -
Replaces
sourcewithtargetin this parser.override -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited