ExpectedNode

class ExpectedNode<T, R>(node: ParserNodeDeclaration<R>, stateCallback: StateCallback<T, R, *>? = null) : Expectation<T, R>

An expectation that expects another node to be present at this point.

For example:

    x = (1 + 2) + 3

You could define an "assignment" node with three expectations:

  • For the first operand and the equals sign, a simple ExpectedToken

  • For the right operand, an ExpectedNode(ExpressionNode).

This expectation is the main way of composing nodes.

Constructors

Link copied to clipboard
constructor(node: ParserNodeDeclaration<R>, stateCallback: StateCallback<T, R, *>? = null)

Properties

Link copied to clipboard

The name of the argument where the result of this expectation should be stored, or null if the matched value of this expectation should not or cannot be stored.

Link copied to clipboard
open override val title: String

Title of this expectation. This should be a shortened description of what this expectation is. For example, an expectation for a node could have the title expect(SomeNode). If possible and legible, this title should be similar to the DSL expression for creating the expectation

Functions

Link copied to clipboard
open override fun matches(context: ParsingContext, index: Int): ExpectationResult<T>

Check if this expectation matches the given context at the given index among the context's tokens list.