package core

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. case class Frame (index: Int, parser: Parser[_, _, _]) extends Product with Serializable

    A single frame of the parser call stack

    A single frame of the parser call stack

    index

    The index at which point this parse frame started

    parser

    The parser which was attempted at this index

  2. case class Logger (f: (String) ⇒ Unit) extends Product with Serializable
  3. trait LowestPriSequencer [Sequencer[_, _, _]] extends AnyRef
  4. trait Mutable [+T, Elem, Repr] extends AnyRef

    An internal mirror of the Parsed classes, except it contains far more data and is mutable to maximize performance

  5. case class ParseCtx [Elem, Repr](input: ParserInput[Elem, Repr], logDepth: Int, traceIndex: Int, originalParser: Parser[_, Elem, Repr], originalIndex: Int, instrument: (Parser[_, Elem, Repr], Int, () ⇒ Parsed[_, Elem, Repr]) ⇒ Unit, isFork: Boolean, isCapturing: Boolean, isNoCut: Boolean) extends Product with Serializable

    Things which get passed through the entire parse run, but almost never get changed in the process.

    Things which get passed through the entire parse run, but almost never get changed in the process.

    input

    The string that is currently being parsed

    logDepth

    How many logging statements we're within, used to properly indent log output. Set to -1 to disable logging

    traceIndex

    Whether or not to perform full tracing to improve error reporting. -1 disables tracing, and any other number enables recording of stack-traces and

  6. case class ParseError [Elem, Repr](failure: Failure[Elem, Repr]) extends Exception with Product with Serializable
  7. sealed trait Parsed [+T, Elem, Repr] extends AnyRef

    Result of a parse, whether successful or failed.

  8. abstract class Parser [+T, Elem, Repr] extends ParserResults[T, Elem, Repr] with Precedence

    A single, self-contained, immutable parser.

    A single, self-contained, immutable parser. The primary method is parse, which returns a T on success and a stack trace on failure.

    Some small optimizations are performed in-line: collapsing parsers.Combinators.Either cells into large ones and collapsing parsers.Combinators.Sequence cells into parsers.Combinators.Sequence.Flats. These optimizations together appear to make things faster but any 10%, whether or not you activate tracing.

  9. abstract class ParserApi [+T, Elem, Repr] extends AnyRef
  10. class ParserApiImpl [+T, Elem, Repr] extends ParserApi[T, Elem, Repr]
  11. trait ParserResults [+T, Elem, Repr] extends AnyRef

    Convenience methods to be used internally inside Parsers

  12. trait Precedence extends AnyRef

    Something which contains an operator precedence, which can be used to correctly wrap other things which contain lower precedences in parentheses when stringifying.

  13. trait SequencerGen [Sequencer[_, _, _]] extends LowestPriSequencer[Sequencer]

Value Members

  1. object Implicits

    Container for all the type-level logic around appending things to tuples or flattening Seq[Unit]s into Units.

    Container for all the type-level logic around appending things to tuples or flattening Seq[Unit]s into Units.

    Some of these implicits make liberal use of mutable state, so as to minimize allocations while parsing.

  2. object Logger extends Serializable
  3. object Mutable
  4. object ParseError extends Serializable
  5. object Parsed
  6. object Precedence

    All the level of operator precedence in Scala

Ungrouped