package core
- Alphabetic
- Public
- All
Type Members
-
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
- case class Logger (f: (String) ⇒ Unit) extends Product with Serializable
- trait LowestPriSequencer [Sequencer[_, _, _]] extends AnyRef
-
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
-
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
- case class ParseError [Elem, Repr](failure: Failure[Elem, Repr]) extends Exception with Product with Serializable
-
sealed
trait
Parsed
[+T, Elem, Repr] extends AnyRef
Result of a parse, whether successful or failed.
-
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.
- abstract class ParserApi [+T, Elem, Repr] extends AnyRef
- class ParserApiImpl [+T, Elem, Repr] extends ParserApi[T, Elem, Repr]
-
trait
ParserResults
[+T, Elem, Repr] extends AnyRef
Convenience methods to be used internally inside Parsers
-
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.
- trait SequencerGen [Sequencer[_, _, _]] extends LowestPriSequencer[Sequencer]
Value Members
-
object
Implicits
Container for all the type-level logic around appending things to tuples or flattening
Seq[Unit]
s intoUnit
s.Container for all the type-level logic around appending things to tuples or flattening
Seq[Unit]
s intoUnit
s.Some of these implicits make liberal use of mutable state, so as to minimize allocations while parsing.
- object Logger extends Serializable
- object Mutable
- object ParseError extends Serializable
- object Parsed
-
object
Precedence
All the level of operator precedence in Scala