Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ProdefLangVisitor

Hierarchy

  • AbstractParseTreeVisitor<ASTNode>
    • ProdefLangVisitor

Implements

Index

Constructors

constructor

Methods

Protected aggregateResult

  • Aggregates the results of visiting multiple children of a node. After either all children are visited or {@link #shouldVisitNextChild} returns false, the aggregate value is returned as the result of {@link #visitChildren}.

    The default implementation returns nextResult, meaning {@link #visitChildren} will return the result of the last child visited (or return the initial value if the node has no children).

    Parameters

    • aggregate: ASTNode

      The previous aggregate value. In the default implementation, the aggregate value is initialized to {@link #defaultResult}, which is passed as the aggregate argument to this method after the first child node is visited.

    • nextResult: ASTNode

      The result of the immediately preceeding call to visit a child node.

    Returns ASTNode

    The updated aggregate result.

Protected defaultResult

Protected shouldVisitNextChild

  • shouldVisitNextChild(node: RuleNode, currentResult: ASTNode): boolean
  • This method is called after visiting each child in {@link #visitChildren}. This method is first called before the first child is visited; at that point currentResult will be the initial value (in the default implementation, the initial value is returned by a call to {@link #defaultResult}. This method is not called after the last child is visited.

    The default implementation always returns true, indicating that visitChildren should only return after all children are visited. One reason to override this method is to provide a "short circuit" evaluation option for situations where the result of visiting a single child has the potential to determine the result of the visit operation as a whole.

    Parameters

    • node: RuleNode

      The {@link RuleNode} whose children are currently being visited.

    • currentResult: ASTNode

      The current aggregate result of the children visited to the current point.

    Returns boolean

    true to continue visiting children. Otherwise return false to stop visiting children and immediately return the current aggregate result from {@link #visitChildren}.

visit

  • {@inheritDoc}

    The default implementation calls {@link ParseTree#accept} on the specified tree.

    Parameters

    • tree: ParseTree

    Returns ASTNode

visitAssertExpression

visitAssignation

visitAssignations

visitAtomSymbol

visitBooleanExpression

visitChildren

  • visitChildren(node: RuleNode): ASTNode
  • {@inheritDoc}

    The default implementation initializes the aggregate result to {@link #defaultResult defaultResult()}. Before visiting each child, it calls {@link #shouldVisitNextChild shouldVisitNextChild}; if the result is false no more children are visited and the current aggregate result is returned. After visiting a child, the aggregate result is updated by calling {@link #aggregateResult aggregateResult} with the previous aggregate result and the result of visiting the child.

    The default implementation is not safe for use in visitors that modify the tree structure. Visitors that modify the tree should override this method to behave properly in respect to the specific algorithm in use.

    Parameters

    • node: RuleNode

    Returns ASTNode

visitErrorNode

  • visitErrorNode(node: ErrorNode): ASTNode
  • {@inheritDoc}

    The default implementation returns the result of {@link #defaultResult defaultResult}.

    Parameters

    • node: ErrorNode

    Returns ASTNode

visitExpression

visitFunctionCall

visitMultExpression

visitNaturalNumber

visitNaturalVector

visitRange

visitRelationOp

visitRoot

visitScientificNumber

visitSumExpression

visitSymbol

visitTerminal

  • visitTerminal(node: TerminalNode): ASTNode
  • {@inheritDoc}

    The default implementation returns the result of {@link #defaultResult defaultResult}.

    Parameters

    • node: TerminalNode

    Returns ASTNode

Generated using TypeDoc