public final class HeapConfigurationPair extends Object implements HeapConfiguration, Graph
INVALID_ELEMENT| Constructor and Description |
|---|
HeapConfigurationPair(HeapConfiguration actual,
HeapConfiguration partner) |
| Modifier and Type | Method and Description |
|---|---|
gnu.trove.list.array.TIntArrayList |
attachedNodesOf(int ntEdge) |
gnu.trove.list.array.TIntArrayList |
attachedNonterminalEdgesOf(int node) |
gnu.trove.map.TIntIntMap |
attachedNonterminalEdgesWithNonReductionTentacle(int node) |
gnu.trove.list.array.TIntArrayList |
attachedVariablesOf(int node) |
HeapConfigurationBuilder |
builder()
Mark a HeapConfiguration as temporarily mutable by a
HeapConfigurationBuilder. |
HeapConfiguration |
clone() |
int |
countExternalNodes() |
int |
countNodes() |
int |
countNonterminalEdges() |
int |
countVariableEdges() |
boolean |
equals(Object otherObject) |
int |
externalIndexOf(int node) |
int |
externalNodeAt(int pos) |
gnu.trove.list.array.TIntArrayList |
externalNodes() |
List<Object> |
getEdgeLabel(int from,
int to) |
AbstractMatchingChecker |
getEmbeddingsOf(HeapConfiguration pattern,
int minAbstractionDistance,
boolean aggressiveNullAbstractionEnabled,
boolean aggressiveCompositeMarkingAbstraction)
Returns an AbstractMatchingChecker to search for all occurrences of the given pattern HeapConfiguration
in this HeapConfiguration (the target).
|
HeapConfiguration |
getEmpty() |
int |
getExternalIndex(int node) |
NodeLabel |
getNodeLabel(int node) |
HeapConfiguration |
getPairedHeapConfiguration() |
gnu.trove.list.array.TIntArrayList |
getPredecessorsOf(int node) |
gnu.trove.list.array.TIntArrayList |
getSuccessorsOf(int node) |
boolean |
hasEdge(int from,
int to) |
int |
hashCode() |
boolean |
isEdgeBetweenMarkedNodes(int from,
int to) |
boolean |
isExternal(int node) |
boolean |
isExternalNode(int node) |
Nonterminal |
labelOf(int ntEdge) |
String |
nameOf(int varEdge) |
gnu.trove.list.array.TIntArrayList |
nodes() |
Type |
nodeTypeOf(int node) |
gnu.trove.list.array.TIntArrayList |
nonterminalEdges() |
gnu.trove.list.array.TIntArrayList |
predecessorNodesOf(int node) |
int |
rankOf(int ntEdge) |
List<SelectorLabel> |
selectorLabelsOf(int node) |
int |
selectorTargetOf(int node,
SelectorLabel sel) |
int |
size() |
gnu.trove.list.array.TIntArrayList |
successorNodesOf(int node) |
int |
targetOf(int varEdge) |
String |
toString() |
gnu.trove.list.array.TIntArrayList |
variableEdges() |
int |
variableTargetOf(String variableName) |
int |
variableWith(String name) |
public HeapConfigurationPair(HeapConfiguration actual, HeapConfiguration partner)
public HeapConfiguration getPairedHeapConfiguration()
public HeapConfiguration clone()
clone in interface HeapConfigurationclone in class Objectpublic HeapConfiguration getEmpty()
getEmpty in interface HeapConfigurationpublic HeapConfigurationBuilder builder()
HeapConfigurationHeapConfigurationBuilder.
The HeapConfiguration stays mutable until HeapConfigurationBuilder.build() is called.
For each HeapConfiguration, there is either no builder (immutable) or exactly one builder (mutable).builder in interface HeapConfigurationpublic int countNodes()
countNodes in interface HeapConfigurationpublic gnu.trove.list.array.TIntArrayList nodes()
nodes in interface HeapConfigurationpublic Type nodeTypeOf(int node)
nodeTypeOf in interface HeapConfigurationnode - A node contained in the HeapConfiguration.public gnu.trove.list.array.TIntArrayList attachedVariablesOf(int node)
attachedVariablesOf in interface HeapConfigurationnode - A node contained in the HeapConfiguration.public gnu.trove.list.array.TIntArrayList attachedNonterminalEdgesOf(int node)
attachedNonterminalEdgesOf in interface HeapConfigurationnode - A node contained in the HeapConfiguration.public gnu.trove.list.array.TIntArrayList successorNodesOf(int node)
successorNodesOf in interface HeapConfigurationnode - A node contained in the HeapConfiguration.public gnu.trove.list.array.TIntArrayList predecessorNodesOf(int node)
predecessorNodesOf in interface HeapConfigurationnode - A node contained in the HeapConfiguration.public List<SelectorLabel> selectorLabelsOf(int node)
selectorLabelsOf in interface HeapConfigurationnode - A node contained in the HeapConfiguration.public int selectorTargetOf(int node,
SelectorLabel sel)
selectorTargetOf in interface HeapConfigurationnode - A node contained in the HeapConfiguration.sel - A SelectorLabel that occurs as an edge label for the given node.public int countExternalNodes()
countExternalNodes in interface HeapConfigurationpublic gnu.trove.list.array.TIntArrayList externalNodes()
externalNodes in interface HeapConfigurationpublic int externalNodeAt(int pos)
externalNodeAt in interface HeapConfigurationpos - An index of an external node satisfying 0 <= pos && pos <= countExternalNodes().public boolean isExternalNode(int node)
isExternalNode in interface HeapConfigurationnode - A node in the HeapConfiguration.public int externalIndexOf(int node)
externalIndexOf in interface HeapConfigurationnode - A node in the HeapConfiguration.public int countNonterminalEdges()
countNonterminalEdges in interface HeapConfigurationpublic gnu.trove.list.array.TIntArrayList nonterminalEdges()
nonterminalEdges in interface HeapConfigurationpublic int rankOf(int ntEdge)
rankOf in interface HeapConfigurationntEdge - A nonterminal edge in this HeapConfiguration.public Nonterminal labelOf(int ntEdge)
labelOf in interface HeapConfigurationntEdge - A nonterminal edge in this HeapConfiguration.public gnu.trove.list.array.TIntArrayList attachedNodesOf(int ntEdge)
attachedNodesOf in interface HeapConfigurationntEdge - A nonterminal edge in this HeapConfiguration.public int countVariableEdges()
countVariableEdges in interface HeapConfigurationpublic gnu.trove.list.array.TIntArrayList variableEdges()
variableEdges in interface HeapConfigurationpublic int variableWith(String name)
variableWith in interface HeapConfigurationname - The name of the requested variableHeapConfiguration.INVALID_ELEMENT.public String nameOf(int varEdge)
nameOf in interface HeapConfigurationvarEdge - A variable edge in this HeapConfiguration.public int targetOf(int varEdge)
targetOf in interface HeapConfigurationvarEdge - A variable edge in this HeapConfiguration.public AbstractMatchingChecker getEmbeddingsOf(HeapConfiguration pattern, int minAbstractionDistance, boolean aggressiveNullAbstractionEnabled, boolean aggressiveCompositeMarkingAbstraction)
HeapConfigurationgetEmbeddingsOf in interface HeapConfigurationpattern - The HeapConfiguration to search for.minAbstractionDistance - The minimal distance between a variable and an embedding.aggressiveNullAbstractionEnabled - True if aggressive null abstraction is enabled.public int variableTargetOf(String variableName)
variableTargetOf in interface HeapConfigurationvariableName - The name of the requested variable.public gnu.trove.map.TIntIntMap attachedNonterminalEdgesWithNonReductionTentacle(int node)
attachedNonterminalEdgesWithNonReductionTentacle in interface HeapConfigurationnode - A node in the graph.public int size()
public boolean hasEdge(int from,
int to)
public gnu.trove.list.array.TIntArrayList getSuccessorsOf(int node)
getSuccessorsOf in interface Graphnode - The source node whose successor nodes are requested.public gnu.trove.list.array.TIntArrayList getPredecessorsOf(int node)
getPredecessorsOf in interface Graphnode - The target node whose predecessor nodes are requested.public NodeLabel getNodeLabel(int node)
getNodeLabel in interface Graphnode - The node whose label is requested.public List<Object> getEdgeLabel(int from, int to)
getEdgeLabel in interface Graphfrom - The source node.to - The target node.public boolean isExternal(int node)
isExternal in interface Graphnode - The node that should be checked.public int getExternalIndex(int node)
getExternalIndex in interface Graphnode - An external node.public boolean isEdgeBetweenMarkedNodes(int from,
int to)
isEdgeBetweenMarkedNodes in interface GraphCopyright © 2018. All rights reserved.