|
Dresden OCL Toolkit | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
TreeNormalizer
and NodeNormalizer
can be implemented to introduce custom normalization steps.
See:
Description
Interface Summary | |
NodeNormalizer | By implementing this interface, normalizations on tree nodes are possible. |
TreeNormalizer | This interface defines the operation "normalize" which should be implemented to normalize an abstract syntax tree (the whole tree, not single nodes!). |
Class Summary | |
CollectShorthandExpansion | breaks default context insertion and iterator insertion |
CompoundNormalizer | This class represents a TreeNormalizer that normalizes an abstract syntax tree by starting other TreeNormalizers in a fixed order. |
ConstraintNaming | assures that constraints have a name |
DefaultContextInsertion | This node normalization inserts the default context ("self" or some iterator variable) wherever appropriate. |
IteratorInsertion | This node normalizer inserts an iterator in every iterating method that does not already have one (or more). |
MultipleIteratorSolving | prerequiste: every feature call must have an explicitly named context (-> the FeatureCallParameters object must not be direct subnode of a PrimaryExpression node) ->after DefaultContextInsertion |
NormalizerPass | This class implements TreeNormalizer to traverse the abstract syntax tree and call a list of NodeNormalizers for each of its nodes. |
TypeInformationInsertion | |
VariableClarification | make variable names unique |
Exception Summary | |
PreconditionViolatedException | This exception is thrown if a normalizer is started that requires the AST to fulfill some condition, which it doesn't. |
The two interfaces TreeNormalizer
and NodeNormalizer
can be implemented to introduce custom normalization steps.
CompoundNormalizer
and NormalizerPass
use to
composite pattern to assemble normalization steps freely. All other classes
are concrete normalization steps.
|
Dresden OCL Toolkit | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |