PatternParser class

A parser that uses a Pattern matcher for parsing.

This parser wraps Pattern.matchAsPrefix in a Parser. This works for any implementation of Pattern, but can lead to very inefficient parsers when not used carefully.

Inheritance

Constructors

PatternParser(Pattern pattern, String message)

Properties

children → List<Parser>
The list of directly referenced parsers.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
message → String
Error message to annotate parse failures with.
final
pattern → Pattern
The Pattern matcher this parser uses.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

copy() → PatternParser
Creates a shallow copy of this parser.
override
fastParseOn(String buffer, int position) → int
Parses buffer starting at position without allocating a Result.
override
hasEqualChildren(covariant Parser other, Set<Parser> seen) → bool
Compares the children of this parser with other.
inherited
hasEqualProperties(covariant PatternParser other) → bool
Compares the properties of this parser with other.
override
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<Match>
Parses the input and returns the parse result.
inherited
parseOn(Context context) → Result<Match>
Parses the given context.
override
replace(Parser source, Parser target) → void
Replaces source with target in this parser.
inherited
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited