fastparse.parsers.Combinators

Sequence

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: AnyRef): Boolean

    Definition Classes
    AnyRef
  3. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  4. final def ##(): Int

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

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

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

    Parses this, optionally

    Parses this, optionally

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

    Definition Classes
    Any
  9. def clone(): AnyRef

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

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

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

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

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

    Definition Classes
    ParserApi
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. 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
  17. final def getClass(): Class[_]

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

    Definition Classes
    Any
  19. 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
  20. 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
  21. final def ne(arg0: AnyRef): Boolean

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

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

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

  25. val p2: Parser[T2]

  26. 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
  27. 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
  28. def rep[R](min: Int = 0, sep: Parser[_] = Pass, end: Parser[_] = Pass)(implicit ev: Repeater[R, R]): Parser[R]

    Definition Classes
    ParserApiImplParserApi
  29. 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
  30. 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
  31. def success[T](s: Mutable[_], value: T, index: Int, cut: Boolean): Mutable[T]

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

    Definition Classes
    AnyRef
  33. def toString(): String

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

    Wraps this in a Not for negative lookaheak

    Wraps this in a Not for negative lookaheak

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. 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
  39. 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
  40. def ~!: Parser[R]

    Performs a cut if this parses successfully.

    Performs a cut if this parses successfully.

    Definition Classes
    ParserApiImplParserApi
  41. 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