ChoiceParser<R> class
A parser that uses the first parser that succeeds.
- Inheritance
-
- Object
- Parser<
R> - ListParser<
R, R> - ChoiceParser
- Available extensions
- AcceptParser
- AndParserExtension
- CastListParserExtension
- CastParserExtension
- ChoiceParserExtension
- ContinuationParserExtension
- EndOfInputParserExtension
- FlattenParserExtension
- GreedyRepeatingParserExtension
- LabelParserExtension
- LazyRepeatingParserExtension
- MapParserExtension
- MatchesParserExtension
- NotParserExtension
- OptionalParserExtension
- ParserSequenceExtension2
- ParserSequenceExtension3
- ParserSequenceExtension4
- ParserSequenceExtension5
- ParserSequenceExtension6
- ParserSequenceExtension7
- ParserSequenceExtension8
- ParserSequenceExtension9
- PatternParserExtension
- PermuteParserExtension
- PickParserExtension
- PossessiveRepeatingParserExtension
- RepeatingCharacterParserExtension
- SeparatedByParserExtension
- SeparatedRepeatingParserExtension
- SequenceParserExtension
- SettableParserExtension
- SkipParserExtension
- TokenParserExtension
- TrimmingParserExtension
- WhereParserExtension
Constructors
-
ChoiceParser(Iterable<
Parser< children, {FailureJoiner<R> >R> ? failureJoiner})
Properties
-
children
→ List<
Parser< R> > -
The children parsers being delegated to.
finalinherited
-
failureJoiner
→ FailureJoiner<
R> -
Strategy to join multiple parse errors.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- 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(
) → ChoiceParser< 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 ChoiceParser< R> other) → bool -
Compare the properties of two parsers.
override
-
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< R> -
Returns the parse result of the
input
.inherited -
parseOn(
Context context) → Result< 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