Package cruise.umple.parser.analysis
Class Analyzer
java.lang.Object
cruise.umple.parser.analysis.Analyzer
- Direct Known Subclasses:
AndOpAnalyzer
,ArithmeticCallAnalyzer
,ArithmeticCallOperatorAnalyzer
,AssociationExprAllAnalyzer
,AssociationExprAnalyzer
,AssociationExprEqualsOpAnalyzer
,AssociationExprFirstOpAnalyzer
,AssociationExprGreaterOpAnalyzer
,AssociationExprLessOpAnalyzer
,AssociationExprMoreOpAnalyzer
,AssociationExprNotequalsOpAnalyzer
,AssociationExprSmallerOpAnalyzer
,AssociationLiteralAnalyzer
,BoolExprAnalyzer
,BoolLiteralAnalyzer
,ConstraintBodyAnalyzer
,ConstraintNameAnalyzer
,ConstraintNameIndexAnalyzer
,ConstraintNameNameAnalyzer
,ConstraintNameNewAnalyzer
,ConstraintParameterAnalyzer
,ConstraintParameterListAnalyzer
,ConstraintParameterListCommaAnalyzer
,ConstraintParameterNumberAnalyzer
,ConstraintScopeOperatorAnalyzer
,ConstraintTokenAnalyzer
,EqualsOpAnalyzer
,GenExprAnalyzer
,GreaterOpAnalyzer
,GuardAnalyzer
,InvariantAnalyzer
,IsInOpAnalyzer
,IsNotInOpAnalyzer
,LessOpAnalyzer
,LinkingOpBodyAnalyzer
,LoneBooleanAnalyzer
,ModelConstraintBodyAnalyzer
,ModelExprAnalyzer
,ModelLinkingOpAnalyzer
,ModelRelationAssociationEndAnalyzer
,ModelRelationAssociationEndBoundAnalyzer
,ModelRelationOpAssociationAnalyzer
,ModelRelationOpAssociationOpAnalyzer
,ModelRelationOpAttributeAnalyzer
,ModelRelationOpAttributeClassificationAnalyzer
,ModelRelationOpInheritanceAnalyzer
,ModelRelationOpInheritanceSubclassAnalyzer
,ModelRelationOpInheritanceSuperclassAnalyzer
,MoreOpAnalyzer
,NegativeConstraintAnalyzer
,NotequalsOpAnalyzer
,NumExprAnalyzer
,NumExprEqualsOpAnalyzer
,NumExprNotequalsOpAnalyzer
,NumExprNumberAnalyzer
,OrOpAnalyzer
,PostconditionAnalyzer
,PreconditionAnalyzer
,SmallerOpAnalyzer
,StatemachineExprAnalyzer
,StatemachineExprStateNameAnalyzer
,StringComplexExpressionAnalyzer
,StringComplexExpressionConcatAnalyzer
,StringExprAnalyzer
,StringExprQuoteAnalyzer
public abstract class Analyzer
extends java.lang.Object
This is the base class for all Analyzers used in the GrammarAnalyzer.
To properly extend and make use of Analyzer, implementing subclasses
must be named the same as the rule they are to analyze in titlecase.
For example, if you were to write an analyzer for the rule "precondition",
the analyzer would be named "PreconditionAnalyzer". Then just override
analyze(Token) or prepare(Token) as needed.
Copyright: All contributers to the Umple Project
This file is made available subject to the open source license found at:
http://umple.org/license
-
Constructor Summary
Constructors Constructor Description Analyzer()
-
Method Summary
Modifier and Type Method Description boolean
addChild(Analyzer aChild)
boolean
addChildAt(Analyzer aChild, int index)
boolean
addOrMoveChildAt(Analyzer aChild, int index)
boolean
addOrMoveParentAt(Analyzer aParent, int index)
boolean
addParent(Analyzer aParent)
boolean
addParentAt(Analyzer aParent, int index)
void
analyze(Token token)
Analyze is called to analyze the particular tokenvoid
analyzeToken(Token token)
Analyzes the token tree by instantiating the appropriate analyzer for each token rule.void
delete()
Analyzer
getChild(int index)
java.util.List<Analyzer>
getChildren()
java.lang.String
getName()
java.util.List<Analyzer>
getParent()
Analyzer
getParent(int index)
boolean
hasChildren()
boolean
hasParent()
int
indexOfChild(Analyzer aChild)
int
indexOfParent(Analyzer aParent)
static int
minimumNumberOfChildren()
static int
minimumNumberOfParent()
int
numberOfChildren()
int
numberOfParent()
void
prepare(Token token)
Prepare is called before analyzing the token, allowing edits or sanitizing to be doneboolean
removeChild(Analyzer aChild)
boolean
removeParent(Analyzer aParent)
boolean
setName(java.lang.String aName)
java.lang.String
toString()
-
Constructor Details
-
Analyzer
public Analyzer()
-
-
Method Details
-
setName
public boolean setName(java.lang.String aName) -
getName
public java.lang.String getName() -
getChild
-
getChildren
-
numberOfChildren
public int numberOfChildren() -
hasChildren
public boolean hasChildren() -
indexOfChild
-
getParent
-
getParent
-
numberOfParent
public int numberOfParent() -
hasParent
public boolean hasParent() -
indexOfParent
-
minimumNumberOfChildren
public static int minimumNumberOfChildren() -
addChild
-
removeChild
-
addChildAt
-
addOrMoveChildAt
-
minimumNumberOfParent
public static int minimumNumberOfParent() -
addParent
-
removeParent
-
addParentAt
-
addOrMoveParentAt
-
delete
public void delete() -
analyzeToken
Analyzes the token tree by instantiating the appropriate analyzer for each token rule. Note: This method makes heavy use of reflection Todo: consider simplifying and making use of the inheritance structure -
prepare
Prepare is called before analyzing the token, allowing edits or sanitizing to be done -
analyze
Analyze is called to analyze the particular token -
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-