fastparse.parsers.Combinators

Sequence

Related Docs: object Sequence | package Combinators

case class Sequence[+T1, +T2, R](p1: Parser[T1], p2: Parser[T2], cut: Boolean)(implicit ev: Sequencer[T1, T2, R]) extends Parser[R] with Product with Serializable

Parsers two things in a row, returning a tuple of the two results if both things succeed

Linear Supertypes
Serializable, Serializable, Product, Equals, Parser[R], ParserApiImpl[R], ParserApi[R], core.Parser[R], core.ParserApi[R], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Sequence
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Parser
  7. ParserApiImpl
  8. ParserApi
  9. Parser
  10. ParserApi
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Sequence(p1: Parser[T1], p2: Parser[T2], cut: Boolean)(implicit ev: Sequencer[T1, T2, R])

Value Members

  1. def !: Capturing

    Used to capture the text parsed by this as a String

    Used to capture the text parsed by this as a String

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

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

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  5. def ?[R](implicit ev: Optioner[R, R]): Optional[R, R]

    Parses this, optionally

    Parses this, optionally

    Definition Classes
    ParserApiImplParserApi
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. val cut: Boolean

  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def ev2: Sequencer[_, _, _]

  11. def fail(f: Mutable, index: Int, cut: Boolean = false): Mutable

    Definition Classes
    ParserApi
  12. def failMore(f: Mutable, index: Int, trace: Boolean, cut: Boolean = false): Mutable

    Definition Classes
    ParserApi
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def flatMap[V](f: (R) ⇒ Parser[V]): Parser[V]

    Uses the result of this parser to create another parser that will be used for the next parse

    Uses the result of this parser to create another parser that will be used for the next parse

    Definition Classes
    ParserApiImplParserApi
  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  17. def log(msg: String)(implicit output: Logger): Logged[R]

    Wraps this in a Logged.

    Wraps this in a Logged. This prints out information where a parser was tried and its result, which is useful for debugging

    Definition Classes
    ParserApiImplParserApi
  18. def map[V](f: (R) ⇒ V): Parser[V]

    Transforms the result of this Parser with the given function

    Transforms the result of this Parser with the given function

    Definition Classes
    ParserApiImplParserApi
  19. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  22. val p1: Parser[T1]

  23. val p2: Parser[T2]

  24. def parse(input: String, index: Int = 0, trace: Boolean = true, instrument: (core.Parser[_], Int, () ⇒ Result[_]) ⇒ Unit = null): Result[R]

    Parses the given input starting from the given index

    Parses the given input starting from the given index

    input

    The string we want to parse

    index

    The index in the string to start from. By default parsing starts from the beginning of a string, but you can start from halfway through the string if you want.

    trace

    Whether or not you want a full trace of any error messages that appear. Without it, you only get the single deepest parser in the call-stack when it failed, and its index. With trace, you get every parser all the way to the top, though this comes with a ~20-40% slowdown.

    instrument

    Allows you to pass in a callback that will get called by every named rule, its index, as it itself given a callback that can be used to recurse into the parse and return the result. Very useful for extracting auxiliary information from the parse, e.g. counting rule invocations to locate bottlenecks or unwanted backtracking in the parser.

    Definition Classes
    Parser
  25. def parseRec(cfg: ParseCtx, index: Int): Result[R]

    Parses the given input starting from the given index and logDepth

    Parses the given input starting from the given index and logDepth

    Definition Classes
    SequenceParserApiImplParser
  26. def rep[R](min: Int = 0, sep: Parser[_] = Pass, end: Parser[_] = Pass)(implicit ev: Repeater[R, R]): Parser[R]

    Definition Classes
    ParserApiImplParserApi
  27. def rep[R](implicit ev: Repeater[R, R]): Parser[R]

    Repeats this parser 0 or more times

    Repeats this parser 0 or more times

    Definition Classes
    ParserApiImplParserApi
  28. def shortTraced: Boolean

    Whether or not this parser should show up when Failure.trace is called

    Whether or not this parser should show up when Failure.trace is called

    Definition Classes
    Parser
  29. def success[T](s: Mutable[_], value: T, index: Int, cut: Boolean): Mutable[T]

    Definition Classes
    ParserApi
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  31. def toString(): String

    Definition Classes
    Sequence → AnyRef → Any
  32. def unary_!: Not

    Wraps this in a Not for negative lookaheak

    Wraps this in a Not for negative lookaheak

    Definition Classes
    ParserApiImplParserApi
  33. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. def |[V >: R](p: Parser[V]): Parser[V]

    Parses using this or the parser p

    Parses using this or the parser p

    Definition Classes
    ParserApiImplParserApi
  37. def ~[V, R](p: Parser[V])(implicit ev: Sequencer[R, V, R]): Parser[R]

    Parses using this followed by the parser p

    Parses using this followed by the parser p

    Definition Classes
    ParserApiImplParserApi
  38. def ~!: Parser[R]

    Performs a cut if this parses successfully.

    Performs a cut if this parses successfully.

    Definition Classes
    ParserApiImplParserApi
  39. def ~![V, R](p: Parser[V])(implicit ev: Sequencer[R, V, R]): Parser[R]

    Parses using this followed by the parser p, performing a Cut if this parses successfully.

    Parses using this followed by the parser p, performing a Cut if this parses successfully. That means that if p fails to parse, the parse will fail immediately and not backtrack past this success.

    This lets you greatly narrow the error position by avoiding unwanted backtracking.

    Definition Classes
    ParserApiImplParserApi

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Parser[R]

Inherited from ParserApiImpl[R]

Inherited from ParserApi[R]

Inherited from core.Parser[R]

Inherited from core.ParserApi[R]

Inherited from AnyRef

Inherited from Any

Ungrouped