parsley.debug
Members list
Type members
Classlikes
ScalaFX (on JavaFX) renderer for debug trees.
ScalaFX (on JavaFX) renderer for debug trees. This frontend provides interactive visuals to explore the parse / debug tree of a parser.
Nodes can be expanded for information or moved around in order to re-organise them, and a live input display will show what part of the input a parser has tried to parse when its respective node is selected.
The primary mouse button (left-click for most users) is used to select nodes to show the parsed input for that node and possibly its result.
The secondary mouse button (right-click for most users) is used to fold or unfold nodes on the tree. It is possible to fold both individual parser nodes (the red / green rectangles) and the named nodes (names on dotted borders).
The Unfold All / Fold All buttons are relatively self-explanatory, as for the zoom bar located above said buttons.
On the side of the window away from the tree display, a node info display and parse input display can be found. The node info display shows more information about a parse attempt (its offsets, result, etc.) and the input display shows where in the input the parse attempt was made, highlighted in bold, green, and underlined text within the rest of the input.
It is recommended that all memory-heavy types (e.g. closures) are not stored explicitly. Consult the documentation on attaching debuggers to find out how to prevent that.
Attributes
- Companion
- object
- Source
- FxGUI.scala
- Supertypes
- Known subtypes
-
object FxGUI
A frontend that emits a JSON-format string representing the parse tree.
A frontend that emits a JSON-format string representing the parse tree.
Unlike most other frontends, this frontend will call a continuation that will have the JSON value passed into after it has been produced by traversing the tree.
This continuation must return unit, as there are not many other ways to make it useful other than making this impure. It is recommended that if one wants to extract multiple inputs from the same frontend with the same continuation, that it is recorded to some kind of list or iterable structure.
It is recommended that all memory-heavy types (e.g. closures) are not stored explicitly. Consult the documentation on attaching debuggers to find out how to prevent that.
Attributes
- Companion
- object
- Source
- JsonFormatter.scala
- Supertypes
- Known subtypes
-
class JsonStringFormatter
Attributes
- Companion
- class
- Source
- JsonFormatter.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
JsonFormatter.type
A version of JsonFormatter that emits a JSON string instead of a io.circe.Json object.
A version of JsonFormatter that emits a JSON string instead of a io.circe.Json object.
Attributes
- Companion
- object
- Source
- JsonFormatter.scala
- Supertypes
Attributes
- Companion
- class
- Source
- JsonFormatter.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
JsonStringFormatter.type