Class

fastparse

EagerOps

Related Doc: package fastparse

Permalink

implicit final class EagerOps[T] extends AnyVal

Provides EagerOps extension methods on P]

Linear Supertypes
AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EagerOps
  2. AnyVal
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new EagerOps(parse0: P[T])

    Permalink

Value Members

  1. macro def !(implicit ctx: P[Any]): P[String]

    Permalink

    Capture operator; makes the parser return the span of input it parsed as a String, which can then be processed further using ~, map or flatMapX

  2. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  3. final def ##(): Int

    Permalink
    Definition Classes
    Any
  4. macro def /(implicit ctx: P[_]): P[T]

    Permalink

    Plain cut operator.

    Plain cut operator. Runs the parser, and if it succeeds, backtracking past that point is now prohibited

  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  6. macro def ?[V](implicit optioner: Optioner[T, V], ctx: P[Any]): P[V]

    Permalink

    Optional operator.

    Optional operator. Parses the given input to wrap it in a Some, but if parsing fails backtracks and returns None

  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. macro def collect[V](f: PartialFunction[T, V]): P[V]

    Permalink

    Transforms the result of this parser using the given partial function, failing the parse if the partial function is not defined on the result of the current parser.

    Transforms the result of this parser using the given partial function, failing the parse if the partial function is not defined on the result of the current parser. This is eqivalent to .filter(f.isDefinedAt).map(f.apply)

  9. macro def filter(f: (T) ⇒ Boolean)(implicit ctx: P[Any]): P[T]

    Permalink

    Tests the output of the parser with a given predicate, failing the parse if the predicate returns false.

    Tests the output of the parser with a given predicate, failing the parse if the predicate returns false. Useful for doing local validation on bits and pieces of your parsed output

  10. macro def flatMap[V](f: (T) ⇒ P[V])(implicit whitespace: Whitespace): P[V]

    Permalink

    Transforms the result of this parser using the given function into a new parser which is applied (after whitespace).

    Transforms the result of this parser using the given function into a new parser which is applied (after whitespace). Useful for doing dependent parsing, e.g. when parsing JSON you may first parse a character to see if it's a [, {, or ", and then deciding whether you next want to parse an array, dictionary or string.

  11. macro def flatMapX[V](f: (T) ⇒ P[V]): P[V]

    Permalink

    Transforms the result of this parser using the given function into a new parser which is applied (without consuming whitespace).

    Transforms the result of this parser using the given function into a new parser which is applied (without consuming whitespace). Useful for doing dependent parsing, e.g. when parsing JSON you may first parse a character to see if it's a [, {, or ", and then deciding whether you next want to parse an array, dictionary or string.

  12. def getClass(): Class[_ <: AnyVal]

    Permalink
    Definition Classes
    AnyVal → Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. macro def map[V](f: (T) ⇒ V): P[V]

    Permalink

    Transforms the result of this parser using the given function.

    Transforms the result of this parser using the given function. Useful for turning the Strings captured by ! and the tuples built by ~ into your own case classes or data structure

  15. val parse0: P[T]

    Permalink
  16. def toString(): String

    Permalink
    Definition Classes
    Any
  17. macro def |[V >: T](other: P[V])(implicit ctx: P[Any]): P[V]

    Permalink

    Either-or operator: tries to parse the left-hand-side, and if that fails it backtracks and tries to pass the right-hand-side.

    Either-or operator: tries to parse the left-hand-side, and if that fails it backtracks and tries to pass the right-hand-side. Can be chained more than once to parse larger numbers of alternatives.

  18. macro def ~[V, R](other: P[V])(implicit s: Sequencer[T, V, R], whitespace: Whitespace, ctx: P[_]): P[R]

    Permalink

    Sequence operator.

    Sequence operator. Runs two parsers one after the other, with optional whitespace in between.If both parsers return a value, this returns a tuple.

  19. macro def ~/[V, R](other: P[V])(implicit s: Sequencer[T, V, R], whitespace: Whitespace, ctx: P[_]): P[R]

    Permalink

    Sequence-with-cut operator.

    Sequence-with-cut operator. Runs two parsers one after the other, with optional whitespace in between. If the first parser completes successfully, backtracking is now prohibited. If both parsers return a value, this returns a tuple.

  20. macro def ~~[V, R](other: P[V])(implicit s: Sequencer[T, V, R], ctx: P[_]): P[R]

    Permalink

    Raw sequence operator.

    Raw sequence operator. Runs two parsers one after the other, *without* whitespace in between. If both parsers return a value, this returns a tuple.

  21. macro def ~~/[V, R](other: P[V])(implicit s: Sequencer[T, V, R], ctx: P[_]): P[R]

    Permalink

    Raw sequence-with-cut operator.

    Raw sequence-with-cut operator. Runs two parsers one after the other, *without* whitespace in between. If the first parser completes successfully, backtracking is no longer prohibited. If both parsers return a value, this returns a tuple.

Inherited from AnyVal

Inherited from Any

Ungrouped