SPPTLeaf

interface SPPTLeaf : SPPTNode

A leaf node has no children.

Functions

contains
Link copied to clipboard
abstract fun contains(other: SPPTNode): Boolean
  • this leaf contains another leaf if they are equal
  • this branch contains another branch if all the children alternatives of the other are contained in this
setTags
Link copied to clipboard
abstract fun setTags(arg: List<String>)

Properties

asBranch
Link copied to clipboard
abstract val asBranch: SPPTBranch
this node cast to an ISPPFBranch (or null if the node is not a branch)
asLeaf
Link copied to clipboard
abstract val asLeaf: SPPTLeaf
this node cast to an ILeaf (or null if the node is not a leaf)
eolPositions
Link copied to clipboard
abstract val eolPositions: List<Int>
identity
Link copied to clipboard
abstract val identity: SPPTNodeIdentity
the identity of this node
isBranch
Link copied to clipboard
abstract val isBranch: Boolean
true if this node is a branch
isEmptyLeaf
Link copied to clipboard
abstract val isEmptyLeaf: Boolean
an Empty Leaf is constructed by a parse by specifically matching nothing, caused by:
  • a rule with no items (for example 'rule = ;')
  • an optional item (for example 'rule = item?
isEmptyMatch
Link copied to clipboard
abstract val isEmptyMatch: Boolean
isLeaf
Link copied to clipboard
abstract val isLeaf: Boolean
true if this node is a Leaf
isLiteral
Link copied to clipboard
abstract val isLiteral: Boolean
Indicates if the leaf was constructed by matching a literal or not.
isPattern
Link copied to clipboard
abstract val isPattern: Boolean
Indicates if the leaf was constructed by matching a regular expression pattern or not.
isSkip
Link copied to clipboard
abstract val isSkip: Boolean
a grammar can define some rules as 'skip' rules, for example a rule to match whitespace is commonly a skip rule.
lastLeaf
Link copied to clipboard
abstract val lastLeaf: SPPTLeaf
location
Link copied to clipboard
abstract val location: InputLocation
matchedText
Link copied to clipboard
abstract val matchedText: String
all text matched by this node
matchedTextLength
Link copied to clipboard
abstract val matchedTextLength: Int
the length of the text (in characters) matched by this node, derived from identity
metaTags
Link copied to clipboard
abstract val metaTags: List<String>
name
Link copied to clipboard
abstract val name: String
the name of the runtime rule that caused this node to be constructed
nextInputPosition
Link copied to clipboard
abstract val nextInputPosition: Int
startPosition + matchedTextLength
nonSkipMatchedText
Link copied to clipboard
abstract val nonSkipMatchedText: String
all text matched by this node excluding text that was matched by skip rules.
numberOfLines
Link copied to clipboard
abstract val numberOfLines: Int
the number of lines (end of line markers) covered by the text that this node matches
option
Link copied to clipboard
abstract val option: Int
parent
Link copied to clipboard
abstract var parent: SPPTBranch?
A parent might be null if the construction of the node has not set it (it is not required)the parent branch of this node.
priority
Link copied to clipboard
abstract val priority: Int
the priority of this node according to the grammar (0 if no priority defined by parent rule)
runtimeRuleNumber
Link copied to clipboard
abstract val runtimeRuleNumber: Int
the rule number from the runtime grammar that caused this node to be constructed, derived from identity
startPosition
Link copied to clipboard
abstract val startPosition: Int
the index position of the input text at which this node starts its match, derived from identity
tagList
Link copied to clipboard
abstract val tagList: List<String>
list of names of all the parent nodes leading to this leaf ( currently populated by TokensByLineVisitor - called by SharedPackedParseTree.