public class RunAwayExpressionChecker extends java.lang.Object implements ExpressionVisitorVoid
| Modifier and Type | Field and Description |
|---|---|
private java.util.Set |
contentModel
Expressions which are used as the content model of current element.
|
protected static java.lang.RuntimeException |
eureka
this exception is thrown to abort check when a error is found.
|
private GrammarReader |
reader |
private java.util.Stack |
refStack
visited Expressions.
|
private java.util.Set |
testedExps
set of ElementExps which are already confirmed as being not a run-away exp.
|
private java.util.Stack |
unprocessedElementExps
Queue of unchecked element exps.
|
| Modifier | Constructor and Description |
|---|---|
protected |
RunAwayExpressionChecker(GrammarReader reader) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
binaryVisit(BinaryExp exp) |
private void |
check(Expression exp) |
static void |
check(GrammarReader reader,
Expression exp) |
private void |
enter(Expression exp) |
private void |
leave() |
void |
onAnyString() |
void |
onAttribute(AttributeExp exp) |
void |
onChoice(ChoiceExp exp) |
void |
onConcur(ConcurExp exp) |
void |
onData(DataExp exp) |
void |
onElement(ElementExp exp) |
void |
onEpsilon() |
void |
onInterleave(InterleaveExp exp) |
void |
onList(ListExp exp) |
void |
onMixed(MixedExp exp) |
void |
onNullSet() |
void |
onOneOrMore(OneOrMoreExp exp) |
void |
onOther(OtherExp exp) |
void |
onRef(ReferenceExp exp) |
void |
onSequence(SequenceExp exp) |
void |
onValue(ValueExp exp) |
protected void |
unaryVisit(UnaryExp exp) |
protected static final java.lang.RuntimeException eureka
private final java.util.Set testedExps
private java.util.Set contentModel
private java.util.Stack refStack
private java.util.Stack unprocessedElementExps
private final GrammarReader reader
protected RunAwayExpressionChecker(GrammarReader reader)
private void check(Expression exp)
public static void check(GrammarReader reader, Expression exp)
public void onAttribute(AttributeExp exp)
onAttribute in interface ExpressionVisitorVoidpublic void onConcur(ConcurExp exp)
onConcur in interface ExpressionVisitorVoidpublic void onInterleave(InterleaveExp exp)
onInterleave in interface ExpressionVisitorVoidpublic void onSequence(SequenceExp exp)
onSequence in interface ExpressionVisitorVoidpublic void onChoice(ChoiceExp exp)
onChoice in interface ExpressionVisitorVoidpublic void onOneOrMore(OneOrMoreExp exp)
onOneOrMore in interface ExpressionVisitorVoidpublic void onMixed(MixedExp exp)
onMixed in interface ExpressionVisitorVoidpublic void onList(ListExp exp)
onList in interface ExpressionVisitorVoidpublic void onEpsilon()
onEpsilon in interface ExpressionVisitorVoidpublic void onNullSet()
onNullSet in interface ExpressionVisitorVoidpublic void onAnyString()
onAnyString in interface ExpressionVisitorVoidpublic void onData(DataExp exp)
onData in interface ExpressionVisitorVoidpublic void onValue(ValueExp exp)
onValue in interface ExpressionVisitorVoidprotected final void binaryVisit(BinaryExp exp)
protected final void unaryVisit(UnaryExp exp)
private void enter(Expression exp)
private void leave()
public void onRef(ReferenceExp exp)
onRef in interface ExpressionVisitorVoidpublic void onOther(OtherExp exp)
onOther in interface ExpressionVisitorVoidpublic void onElement(ElementExp exp)
onElement in interface ExpressionVisitorVoid