Representation of the pattern to search for,
containing nested alternative, iterated, negative, and independent-patterns,
plus references to the rules of the used subpatterns.
Accessible via IPatternGraph as meta information to the user about the matching action.
Skeleton data structure for the matcher generation pipeline which stores intermediate results here,
which saves us from representing the nesting structure again and again in the pipeline's data structures
| C# |
public class PatternGraph : IPatternGraph
| All Members | Constructors | Methods | Properties | Fields | |
| Icon | Member | Description |
|---|---|---|
| PatternGraph(String, String, Boolean, array<PatternNode>[]()[], array<PatternEdge>[]()[], array<PatternVariable>[]()[], array<PatternGraphEmbedding>[]()[], array<Alternative>[]()[], array<PatternGraph>[]()[], array<Int32>[]()[], array<Int32>[]()[], array<PatternGraph>[]()[], array<PatternGraph>[]()[], array<PatternCondition>[]()[], array<Boolean,2>[,](,)[,], array<Boolean,2>[,](,)[,], array<Boolean,2>[,](,)[,], array<Boolean,2>[,](,)[,]) |
Constructs a PatternGraph object.
| |
| alternatives |
An array of alternatives, each alternative contains in its cases the subpatterns to choose out of.
| |
| Alternatives |
An array of alternatives, each alternative contains in its cases the subpatterns to choose out of.
| |
| Conditions |
The conditions used in this pattern graph or it's nested graphs
| |
| edges |
An array of all pattern edges.
| |
| Edges |
An array of all pattern edges.
| |
| edgeToSourceNode |
contains the source node of the pattern edges in this graph if specified
| |
| edgeToTargetNode |
contains the target node of the pattern edges in this graph if specified
| |
| embeddedGraphs |
An array with subpattern embeddings, i.e. subpatterns and the way they are connected to the pattern
| |
| EmbeddedGraphs |
An array with subpattern embeddings, i.e. subpatterns and the way they are connected to the pattern
| |
| embeddingGraph |
The pattern graph which contains this pattern graph, null if this is a top-level-graph
| |
| EmbeddingGraph |
The pattern graph which contains this pattern graph, null if this is a top-level-graph
| |
| GetSource(IPatternEdge) |
Returns the source pattern node of the given edge, null if edge dangles to the left
| |
| GetSource(PatternEdge) |
Returns the source pattern node of the given edge, null if edge dangles to the left
| |
| GetTarget(IPatternEdge) |
Returns the target pattern node of the given edge, null if edge dangles to the right
| |
| GetTarget(PatternEdge) |
Returns the target pattern node of the given edge, null if edge dangles to the right
| |
| homomorphicEdges |
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge.
| |
| HomomorphicEdges |
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge.
| |
| homomorphicEdgesGlobal |
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge globally,
i.e. the edges are contained in different, but locally nested patterns (alternative cases, iterateds).
| |
| HomomorphicEdgesGlobal |
A two-dimensional array describing which pattern edge may be matched non-isomorphic to which pattern edge globally,
i.e. the edges are contained in different, but locally nested patterns (alternative cases, iterateds).
| |
| homomorphicNodes |
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node.
| |
| HomomorphicNodes |
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node.
| |
| homomorphicNodesGlobal |
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node globally,
i.e. the nodes are contained in different, but locally nested patterns (alternative cases, iterateds).
| |
| HomomorphicNodesGlobal |
A two-dimensional array describing which pattern node may be matched non-isomorphic to which pattern node globally,
i.e. the nodes are contained in different, but locally nested patterns (alternative cases, iterateds).
| |
| independentPatternGraphs |
An array of independent pattern graphs which must get matched in addition to the main pattern
(PACs - Positive Application Conditions).
| |
| IndependentPatternGraphs |
An array of independent pattern graphs which must get matched in addition to the main pattern
(PACs - Positive Application Conditions).
| |
| isPatternpathLocked |
NIY
| |
| iterateds |
An array of iterated patterns, each iterated is matched at least as specified in minMatches and at most as specified in maxMatches.
| |
| Iterateds |
An array of iterateds, each iterated is matched as often as possible.
| |
| maxMatches |
An array of integers specifiying how often the corresponding(by array position) iterated pattern must get matched at most,
with 0 meaning unlimited / as often as possible
| |
| minMatches |
An array of integers specifiying how often the corresponding(by array position) iterated pattern must get matched at least
| |
| name |
The name of the pattern graph
| |
| Name |
The name of the pattern graph
| |
| neededEdges |
The edges from the enclosing graph(s) used in this graph or one of it's subgraphs.
Set of names, with dummy bool due to lacking set class in c#
| |
| neededNodes |
The nodes from the enclosing graph(s) used in this graph or one of it's subgraphs.
Set of names, with dummy bool due to lacking set class in c#
| |
| negativePatternGraphs |
An array of negative pattern graphs which make the search fail if they get matched
(NACs - Negative Application Conditions).
| |
| NegativePatternGraphs |
An array of negative pattern graphs which make the search fail if they get matched
(NACs - Negative Application Conditions).
| |
| nodes |
An array of all pattern nodes.
| |
| Nodes |
An array of all pattern nodes.
| |
| pathPrefix |
Prefix for name from nesting path
| |
| pathPrefixesAndNamesOfNestedIndependents |
The path prefixes and names of the independents nested within this pattern graph
only in top-level-patterns, alternatives, iterateds, only independents not nested within negatives
| |
| patternGraphsOnPathToEnclosedSubpatternOrAlternativeOrIteratedOrPatternpath |
The names of the pattern graphs which are on a path to some
enclosed subpattern usage/alternative/iterated or negative/independent with patternpath modifier.
Needed for patternpath processing setup.
| |
| schedule |
A schedule for this pattern graph without any nested pattern graphs.
| |
| scheduleIncludingNegativesAndIndependents |
A schedule for this pattern graph including negatives and independents (and subpatterns?). TODO
| |
| usedSubpatterns |
The subpatterns used by this pattern (directly as well as indirectly),
only filled/valid if this is a top level pattern graph of a rule or subpattern.
Set of matching patterns, with dummy null matching pattern due to lacking set class in c#
| |
| variables |
An array of all pattern variables.
| |
| Variables |
An array of all pattern variables.
|
| Object | |
| PatternGraph | |