GreedyRepeatingParser<R> class Null safety

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.

Available Extensions


GreedyRepeatingParser(Parser<R> parser, Parser<void> limit, int min, int max)


children List<Parser>
Returns a list of directly referenced parsers. [...]
read-only, inherited
delegate Parser<R>
The parser this parser delegates to.
read / write, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
limit Parser<void>
Parser restraining further consumption of the delegate parser.
read / write, inherited
max int
The maximum amount of repetitions, or unbounded.
final, inherited
min int
The minimum amount of repetitions.
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


captureResultGeneric<T>(T callback(Parser<R> self)) → T
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.
@internal, @nonVirtual, inherited
copy() GreedyRepeatingParser<R>
Returns a shallow copy of the receiver. [...]
fastParseOn(String buffer, int position) int
Primitive method doing the actual parsing. [...]
hasEqualChildren(covariant Parser other, Set<Parser> seen) bool
Compare the children of two parsers. [...]
@nonVirtual, @protected, inherited
hasEqualProperties(covariant RepeatingParser<R> other) bool
Compare the properties of two parsers. [...]
isEqualTo(Parser other, [Set<Parser>? seen]) bool
Recursively tests for structural equality of two parsers. [...]
@nonVirtual, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
parse(String input) Result<List<R>>
Returns the parse result of the input. [...]
@nonVirtual, inherited
parseOn(Context context) Result<List<R>>
Primitive method doing the actual parsing. [...]
replace(Parser source, Parser target) → void
Changes the receiver by replacing source with target. Does nothing if source does not exist in Parser.children. [...]
toString() String
A string representation of this object. [...]


operator ==(Object other) bool
The equality operator. [...]