public class DefaultCanonicalizationHelper extends Object implements CanonicalizationHelper
| Modifier and Type | Field and Description |
|---|---|
EmbeddingCheckerProvider |
provider |
| Constructor and Description |
|---|
DefaultCanonicalizationHelper(EmbeddingCheckerProvider provider) |
| Modifier and Type | Method and Description |
|---|---|
HeapConfiguration |
prepareHeapForCanonicalization(HeapConfiguration toAbstract)
If the grammar type requires a modification of the graph before it can be abstracted,
it is done with this method.
|
HeapConfiguration |
tryReplaceMatching(HeapConfiguration toAbstract,
CollapsedHeapConfiguration rhs,
Nonterminal lhs)
If an embedding of rhs in toAbstract can be found it computes it
and replaces it with a nonterminal edge labeled with lhs.
|
HeapConfiguration |
tryReplaceMatching(HeapConfiguration toAbstract,
HeapConfiguration rhs,
Nonterminal lhs)
If an embedding of rhs in toAbstract can be found it computes it
and replaces it with a nonterminal edge labeled with lhs.
|
public final EmbeddingCheckerProvider provider
public DefaultCanonicalizationHelper(EmbeddingCheckerProvider provider)
provider - generates a EmbeddingChecker for given graph and pattern. Responsible
to generate the correct one for given communication and semantics.public HeapConfiguration tryReplaceMatching(HeapConfiguration toAbstract, HeapConfiguration rhs, Nonterminal lhs)
CanonicalizationHelpertryReplaceMatching in interface CanonicalizationHelpertoAbstract - the target graphrhs - the pattern graphlhs - the label of the replacing nonterminal edgepublic HeapConfiguration prepareHeapForCanonicalization(HeapConfiguration toAbstract)
CanonicalizationHelperprepareHeapForCanonicalization in interface CanonicalizationHelpertoAbstract - the graph which shall be abstractedpublic HeapConfiguration tryReplaceMatching(HeapConfiguration toAbstract, CollapsedHeapConfiguration rhs, Nonterminal lhs)
CanonicalizationHelpertryReplaceMatching in interface CanonicalizationHelpertoAbstract - the target graphrhs - the pattern graphlhs - the label of the replacing nonterminal edgeCopyright © 2019. All rights reserved.