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> - LimitedRepeatingParser
- Implementers
- Available extensions
Constructors
-
LimitedRepeatingParser(Parser<
R> delegate, Parser<void> limit, int min, int max)
Properties
-
children
→ List<
Parser> -
Returns a 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
-
captureResultGeneric<
T> (T callback< R>(Parser< ) → TR> self) -
Internal helper to capture the generic type
R
of the parse result from extension methods. This makes it possible to wrap the parser without loosing type information.inherited -
copy(
) → Parser< List< R> > -
Returns a shallow copy of the receiver.
inherited
-
fastParseOn(
String buffer, int position) → int -
Primitive method doing the actual parsing.
inherited
-
hasEqualChildren(
covariant Parser other, Set< Parser> seen) → bool -
Compare the children of two parsers.
inherited
-
hasEqualProperties(
covariant RepeatingParser< R> other) → bool -
Compare the properties of two parsers.
inherited
-
isEqualTo(
Parser other, [Set< Parser> ? seen]) → bool -
Recursively tests for structural equality of two parsers.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
parse(
String input) → Result< List< R> > -
Returns the parse result of the
input
.inherited -
parseOn(
Context context) → Result< List< R> > -
Primitive method doing the actual parsing.
inherited
-
replace(
Parser source, Parser target) → void -
Changes the receiver by replacing
source
withtarget
. Does nothing ifsource
does not exist in Parser.children.override -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited