DebugTree

parsley.debugger.DebugTree
See theDebugTree companion object
trait DebugTree extends Iterable[DebugTree]

The tree representing a parser's parse tree (its parser execution path).

Initially unpopulated, it will be populated with information regarding the parser, such as what it is (if it is a primitive such as parsley.internal.deepembedding.singletons.Pure, or a user-defined named parser if names are collected) as the parser itself runs on some input.

Any tree node will store the input it has parsed (or attempted to parse) as well as its success state as an optional ParseAttempt instance.

Although this trait is unsealed, it is not useful to make a subtype of this trait, as this trait's sole purpose is to provide safe methods into handling the frozen trees produced by the debugger.

Attributes

Since

4.5.0

Companion
object
Source
DebugTree.scala
Graph
Supertypes

Members list

Value members

Abstract methods

The numerical identifier of this child, which is defined if this is a child parser that consumes input.

The numerical identifier of this child, which is defined if this is a child parser that consumes input.

Attributes

Source
DebugTree.scala

Get the full input that was attempted to be parsed by the debugged parser.

Get the full input that was attempted to be parsed by the debugged parser.

This is the whole input, unaltered, even parts where the parser did not attempt to parse. To see only the input a particular node or child node has viewed, look inside parseResults.

Attributes

Source
DebugTree.scala

The type name of the parser that formed this node.

The type name of the parser that formed this node.

Attributes

Source
DebugTree.scala

What are the child debug nodes for this node?

What are the child debug nodes for this node?

The map provided by the implementation should be a linked map in order to preserve the order of child parser occurrences within each parser.

Internally, child nodes are given an arbitrary numeric suffix to disambiguate them in the map if multiple child nodes have the same parser name. This also allows one to traverse the tree down specific nodes via keys.

Those internal names are not represented if checking parserName.

Attributes

Source
DebugTree.scala

Get the potential parse attempt recorded for this particular parser.

Get the potential parse attempt recorded for this particular parser.

Attributes

Source
DebugTree.scala

The name of the parser that made this node.

The name of the parser that made this node.

Attributes

Source
DebugTree.scala

Concrete methods

override def iterator: Iterator[DebugTree]

Provides a depth-first view of the tree as an iterator.

Provides a depth-first view of the tree as an iterator.

Attributes

Definition Classes
Source
DebugTree.scala
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Iterable -> Any
Source
DebugTree.scala

Inherited methods

final def ++[B >: DebugTree](suffix: IterableOnce[B]): CC[B]

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOnceOps
def concat[B >: DebugTree](suffix: IterableOnce[B]): CC[B]

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps
def copyToArray[B >: DebugTree](xs: Array[B]): Int

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps
def drop(n: Int): C

Attributes

Inherited from:
IterableOps
def dropRight(n: Int): C

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOps
override def empty: CC[A]

Attributes

Definition Classes
Inherited from:
IterableFactoryDefaults

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOps
def find(p: DebugTree => Boolean): Option[A]

Attributes

Inherited from:
IterableOnceOps
def flatMap[B](f: DebugTree => IterableOnce[B]): CC[B]

Attributes

Inherited from:
IterableOps
def flatten[B](implicit asIterable: DebugTree => IterableOnce[B]): CC[B]

Attributes

Inherited from:
IterableOps
def fold[A1 >: DebugTree](z: A1)(op: (A1, A1) => A1): A1

Attributes

Inherited from:
IterableOnceOps
def foldLeft[B](z: B)(op: (B, DebugTree) => B): B

Attributes

Inherited from:
IterableOnceOps
def foldRight[B](z: B)(op: (DebugTree, B) => B): B

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps
def foreach[U](f: DebugTree => U): Unit

Attributes

Inherited from:
IterableOnceOps
protected def fromSpecific(coll: IterableOnce[DebugTree]): CC[A]

Attributes

Inherited from:
IterableFactoryDefaults
def groupBy[K](f: DebugTree => K): Map[K, C]

Attributes

Inherited from:
IterableOps
def groupMap[K, B](key: DebugTree => K)(f: DebugTree => B): Map[K, CC[B]]

Attributes

Inherited from:
IterableOps
def groupMapReduce[K, B](key: DebugTree => K)(f: DebugTree => B)(reduce: (B, B) => B): Map[K, B]

Attributes

Inherited from:
IterableOps
def grouped(size: Int): Iterator[C]

Attributes

Inherited from:
IterableOps
def head: A

Attributes

Inherited from:
IterableOps
def headOption: Option[A]

Attributes

Inherited from:
IterableOps
def init: C

Attributes

Inherited from:
IterableOps
def inits: Iterator[C]

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOnceOps
override def isTraversableAgain: Boolean

Attributes

Definition Classes
Inherited from:
IterableOps

Attributes

Inherited from:
Iterable
def knownSize: Int

Attributes

Inherited from:
IterableOnce
def last: A

Attributes

Inherited from:
IterableOps
def lastOption: Option[A]

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
Iterable
def map[B](f: DebugTree => B): CC[B]

Attributes

Inherited from:
IterableOps
def max[B >: DebugTree](implicit ord: Ordering[B]): A

Attributes

Inherited from:
IterableOnceOps
def maxBy[B](f: DebugTree => B)(implicit cmp: Ordering[B]): A

Attributes

Inherited from:
IterableOnceOps
def maxByOption[B](f: DebugTree => B)(implicit cmp: Ordering[B]): Option[A]

Attributes

Inherited from:
IterableOnceOps
def maxOption[B >: DebugTree](implicit ord: Ordering[B]): Option[A]

Attributes

Inherited from:
IterableOnceOps
def min[B >: DebugTree](implicit ord: Ordering[B]): A

Attributes

Inherited from:
IterableOnceOps
def minBy[B](f: DebugTree => B)(implicit cmp: Ordering[B]): A

Attributes

Inherited from:
IterableOnceOps
def minByOption[B](f: DebugTree => B)(implicit cmp: Ordering[B]): Option[A]

Attributes

Inherited from:
IterableOnceOps
def minOption[B >: DebugTree](implicit ord: Ordering[B]): Option[A]

Attributes

Inherited from:
IterableOnceOps
final def mkString: String

Attributes

Inherited from:
IterableOnceOps
final def mkString(sep: String): String

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps
protected def newSpecificBuilder: Builder[A, CC[A]]

Attributes

Inherited from:
IterableFactoryDefaults

Attributes

Inherited from:
IterableOnceOps
def partition(p: DebugTree => Boolean): (C, C)

Attributes

Inherited from:
IterableOps
def partitionMap[A1, A2](f: DebugTree => Either[A1, A2]): (CC[A1], CC[A2])

Attributes

Inherited from:
IterableOps
def product[B >: DebugTree](implicit num: Numeric[B]): B

Attributes

Inherited from:
IterableOnceOps
def reduce[B >: DebugTree](op: (B, B) => B): B

Attributes

Inherited from:
IterableOnceOps
def reduceLeft[B >: DebugTree](op: (B, DebugTree) => B): B

Attributes

Inherited from:
IterableOnceOps
def reduceLeftOption[B >: DebugTree](op: (B, DebugTree) => B): Option[B]

Attributes

Inherited from:
IterableOnceOps
def reduceOption[B >: DebugTree](op: (B, B) => B): Option[B]

Attributes

Inherited from:
IterableOnceOps
def reduceRight[B >: DebugTree](op: (DebugTree, B) => B): B

Attributes

Inherited from:
IterableOnceOps
def reduceRightOption[B >: DebugTree](op: (DebugTree, B) => B): Option[B]

Attributes

Inherited from:
IterableOnceOps
protected def reversed: Iterable[A]

Attributes

Inherited from:
IterableOnceOps
def scan[B >: DebugTree](z: B)(op: (B, B) => B): CC[B]

Attributes

Inherited from:
IterableOps
def scanLeft[B](z: B)(op: (B, DebugTree) => B): CC[B]

Attributes

Inherited from:
IterableOps
def scanRight[B](z: B)(op: (DebugTree, B) => B): CC[B]

Attributes

Inherited from:
IterableOps
def size: Int

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOps
final def sizeIs: SizeCompareOps

Attributes

Inherited from:
IterableOps
def slice(from: Int, until: Int): C

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOps
def sliding(size: Int): Iterator[C]

Attributes

Inherited from:
IterableOps
def span(p: DebugTree => Boolean): (C, C)

Attributes

Inherited from:
IterableOps
override def splitAt(n: Int): (C, C)

Attributes

Definition Classes
Inherited from:
IterableOps
def stepper[S <: Stepper[_]](implicit shape: StepperShape[DebugTree, S]): S

Attributes

Inherited from:
IterableOnce
def sum[B >: DebugTree](implicit num: Numeric[B]): B

Attributes

Inherited from:
IterableOnceOps
def tail: C

Attributes

Inherited from:
IterableOps
def tails: Iterator[C]

Attributes

Inherited from:
IterableOps
def take(n: Int): C

Attributes

Inherited from:
IterableOps
def takeRight(n: Int): C

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOps
override def tapEach[U](f: DebugTree => U): C

Attributes

Definition Classes
Inherited from:
IterableOps
def to[C1](factory: Factory[DebugTree, C1]): C1

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps
final def toBuffer[B >: DebugTree]: Buffer[B]

Attributes

Inherited from:
IterableOnceOps

Attributes

Inherited from:
IterableOnceOps
def toList: List[A]

Attributes

Inherited from:
IterableOnceOps
def toMap[K, V](implicit ev: DebugTree <:< (K, V)): Map[K, V]

Attributes

Inherited from:
IterableOnceOps
def toSeq: Seq[A]

Attributes

Inherited from:
IterableOnceOps
def toSet[B >: DebugTree]: Set[B]

Attributes

Inherited from:
IterableOnceOps
def toVector: Vector[A]

Attributes

Inherited from:
IterableOnceOps
def transpose[B](implicit asIterable: DebugTree => Iterable[B]): CC[CC[B]]

Attributes

Inherited from:
IterableOps
def unzip[A1, A2](implicit asPair: DebugTree => (A1, A2)): (CC[A1], CC[A2])

Attributes

Inherited from:
IterableOps
def unzip3[A1, A2, A3](implicit asTriple: DebugTree => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])

Attributes

Inherited from:
IterableOps
def view: View[A]

Attributes

Inherited from:
IterableOps

Attributes

Inherited from:
IterableOps
def zip[B](that: IterableOnce[B]): CC[(A, B)]

Attributes

Inherited from:
IterableOps
def zipAll[A1 >: DebugTree, B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

Attributes

Inherited from:
IterableOps
def zipWithIndex: CC[(A, Int)]

Attributes

Inherited from:
IterableOps

Deprecated and Inherited methods

def ++:[B >: DebugTree](that: IterableOnce[B]): CC[B]

Attributes

Deprecated
[Since version 2.13.0] Use ++ instead of ++: for collections of type Iterable
Inherited from:
IterableOps
final def /:[B](z: B)(op: (B, DebugTree) => B): B

Attributes

Deprecated
[Since version 2.13.0] Use foldLeft instead of /:
Inherited from:
IterableOnceOps
final def :\[B](z: B)(op: (DebugTree, B) => B): B

Attributes

Deprecated
[Since version 2.13.0] Use foldRight instead of :\\
Inherited from:
IterableOnceOps
def aggregate[B](z: => B)(seqop: (B, DebugTree) => B, combop: (B, B) => B): B

Attributes

Deprecated
[Since version 2.13.0] `aggregate` is not relevant for sequential collections. Use `foldLeft(z)(seqop)` instead.
Inherited from:
IterableOnceOps

Attributes

Deprecated
[Since version 2.13.0] Use iterableFactory instead
Inherited from:
IterableOps
final def copyToBuffer[B >: DebugTree](dest: Buffer[B]): Unit

Attributes

Deprecated
[Since version 2.13.0] Use `dest ++= coll` instead
Inherited from:
IterableOnceOps

Attributes

Deprecated
[Since version 2.13.0] Check .knownSize instead of .hasDefiniteSize for more actionable information (see scaladoc for details)
Inherited from:
IterableOnceOps
final def repr: C

Attributes

Deprecated
[Since version 2.13.0] Use coll instead of repr in a collection implementation, use the collection value itself from the outside
Inherited from:
IterableOps
def seq: Iterable.this.type

Attributes

Deprecated
[Since version 2.13.0] Iterable.seq always returns the iterable itself
Inherited from:
Iterable
final def toIterable: Iterable.this.type

Attributes

Deprecated
[Since version 2.13.7] toIterable is internal and will be made protected; its name is similar to `toList` or `toSeq`, but it doesn\'t copy non-immutable collections
Inherited from:
Iterable
final def toIterator: Iterator[A]

Attributes

Deprecated
[Since version 2.13.0] Use .iterator instead of .toIterator
Inherited from:
IterableOnceOps
final def toStream: Stream[A]

Attributes

Deprecated
[Since version 2.13.0] Use .to(LazyList) instead of .toStream
Inherited from:
IterableOnceOps
final def toTraversable: Iterable[A]

Attributes

Deprecated
[Since version 2.13.0] toTraversable is internal and will be made protected; its name is similar to `toList` or `toSeq`, but it doesn\'t copy non-immutable collections
Inherited from:
IterableOps
def view(from: Int, until: Int): View[A]

Attributes

Deprecated
[Since version 2.13.0] Use .view.slice(from, until) instead of .view(from, until)
Inherited from:
IterableOps