GreedyRepeatingParser<R> class
A greedy repeating parser, commonly seen in regular expression implementations. It aggressively consumes as much input as possible and then backtracks to meet the 'limit' condition.
- Inheritance
-
- Object
- Parser<
List< R> > - DelegateParser<
R, List< R> > - RepeatingParser<
R, List< R> > - LimitedRepeatingParser<
R> - GreedyRepeatingParser
- Available extensions
Constructors
-
GreedyRepeatingParser(Parser<
R> parser, Parser<void> limit, int min, int max)
Properties
-
children
→ List<
Parser> -
Returns a list of directly referenced parsers.
no setterinherited
-
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 pairinherited
- 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. This makes it possible to wrap the parser without loosing type information.inherited -
copy(
) → GreedyRepeatingParser< R> -
Returns a shallow copy of the receiver.
override
-
fastParseOn(
String buffer, int position) → int -
Primitive method doing the actual parsing.
override
-
hasEqualChildren(
covariant Parser other, Set< Parser> seen) → bool -
Compare the children of two parsers.
inherited
-
hasEqualProperties(
covariant RepeatingParser< R, List< other) → boolR> > -
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, {int start = 0}) → Result< List< R> > -
Returns the parse result of the
input
.inherited -
parseOn(
Context context) → Result< List< R> > -
Primitive method doing the actual parsing.
override
-
replace(
Parser source, Parser target) → void -
Changes the receiver by replacing
source
withtarget
. Does nothing ifsource
does not exist in Parser.children.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited