DSCR
- discriminator typeO
- output symbol typeD
- node data typeT
- link structure typeN
- node typepublic abstract class AbstractTemporaryIntrusiveDTNode<DSCR,O,D,T extends IntrusiveList<?>,N extends AbstractTemporaryIntrusiveDTNode<DSCR,O,D,T,N>> extends AbstractDTNode<DSCR,O,D,N> implements IntrusiveListElem<N>
AbstractDTNode
that adds the concept of temporary splitters as well as linking
discrimination tree nodes outside of their regular tree structure. Currently used by the TTT algorithm (both regular
and VPDA) and the DT algorithm (VPDA variant).AbstractDTNode.SplitResult
Modifier and Type | Field and Description |
---|---|
protected N |
nextElement |
protected IntrusiveListElem<N> |
prevElement |
protected SplitData<O,T> |
splitData |
protected boolean |
temp |
children, data, depth, discriminator, parent, parentOutcome
Constructor and Description |
---|
AbstractTemporaryIntrusiveDTNode(N parent,
O parentOutcome,
D data) |
Modifier and Type | Method and Description |
---|---|
N |
anyChild() |
N |
getNextElement() |
IntrusiveListElem<N> |
getPrevElement() |
SplitData<O,T> |
getSplitData() |
boolean |
isBlockRoot() |
boolean |
isInner() |
boolean |
isTemp() |
void |
removeFromBlockList() |
void |
setChild(O label,
N newChild) |
void |
setNextElement(N nextBlock) |
void |
setPrevElement(IntrusiveListElem<N> prevElement) |
void |
setSplitData(SplitData<O,T> splitData) |
void |
setTemp(boolean temp) |
addChild, child, child, createChild, createChildMap, getChild, getChildEntries, getChildren, getData, getDepth, getDiscriminator, getParent, getParentOutcome, isLeaf, isRoot, replaceChildren, setData, setDiscriminator, split, split, subtreeLabel
protected SplitData<O,T extends IntrusiveList<?>> splitData
protected IntrusiveListElem<N extends AbstractTemporaryIntrusiveDTNode<DSCR,O,D,T,N>> prevElement
protected boolean temp
public boolean isTemp()
public void setTemp(boolean temp)
public N anyChild()
public boolean isInner()
public boolean isBlockRoot()
public void removeFromBlockList()
public N getNextElement()
getNextElement
in interface IntrusiveListElem<N extends AbstractTemporaryIntrusiveDTNode<DSCR,O,D,T,N>>
public void setNextElement(N nextBlock)
setNextElement
in interface IntrusiveListElem<N extends AbstractTemporaryIntrusiveDTNode<DSCR,O,D,T,N>>
public IntrusiveListElem<N> getPrevElement()
public void setPrevElement(IntrusiveListElem<N> prevElement)
Copyright © 2018. All rights reserved.