See: Description
Class | Description |
---|---|
KahinaTreeMatchEvent | |
TreeAutomaton |
Implements a tree automaton as used for tree pattern matching by Kahina's breakpoint system.
|
TreeAutomatonRule |
Encodes a rule within a
TreeAutomaton . |
TreePattern | |
TreePatternNode |
Exception | Description |
---|---|
PatternFormatException |
An exception type thrown when validating the values of a
KahinaSimpleProperty . |
Kahina's breakpoint system is built around the definition of patterns on step content, which can be combined using boolean connectives, and then used as elementary patterns to define patterns in a step tree.
The KahinaSimpleProperty
class
is used to encode (boolean combinations of) node patterns.
At the moment, string comparisons (including regular expressions) are allowed
for matching step descriptions and edge labels in a step tree,
and integer relations allow to match a step's ID and status values.
TreeNodePatterns can be grouped recursively to boolean combinations
using the negation, conjunction, disjunction, and implication connectives.
Tree patterns are represented directly by instances of TreePattern
,
a tree structure with nodes of type TreePatternNode
,
where each node is associated with an TreeNodePattern.
In order to make tree pattern matches efficiently computable,
tree patterns are compiled into tree automata.
A TreeAutomaton
keeps track of the changes
in a KahinaTree
object, firing a KahinaTreeMatchEvent
in case the tree pattern it encodes is matched by.
Internally a TreeAutomaton is defined a collection of rules, and maintains annotations of the nodes in a KahinaTree.
The rules are represented by instances of TreeAutomatonRule
,
each of which combines a TreeNodePattern with a set of required annotations for the matched node's children.
During breakpoint compilation an editing, PatternFormatException
s
are used to inform the interface components about specification errors for user feedback.