Package relaxngcc.automaton
Class State
- java.lang.Object
-
- relaxngcc.automaton.State
-
- All Implemented Interfaces:
java.lang.Comparable
public final class State extends java.lang.Object implements java.lang.Comparable
A State object has zero or more Transition objects
-
-
Field Summary
Fields Modifier and Type Field Description Pattern
_locationHint
Pattern from which this state was created.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addActionOnExit(ScopeInfo.Action act)
void
addActionsOnExit(ScopeInfo.Action[] act)
void
addTransition(Transition t)
java.util.Set
AFollow()
java.util.Set
attHead()
Computes ATTHEAD set of this state and returns them in a sorted order.void
calcAFOLLOW()
Computes AFOLLOW from this state.int
compareTo(java.lang.Object obj)
Transition
findTransition(Alphabet a)
finds a transition invoked by the passed alphabetScopeInfo.Action[]
getActionsOnExit()
ScopeInfo
getContainer()
int
getIndex()
State[]
getReachableStates()
Gets all the states reachable from this state.boolean
hasTransition(int alphabetTypes)
Checks if this state has transitions with at least one of given types of alphabets.java.util.Set
head(boolean includeEE)
Computes HEAD set of this state.boolean
isAcceptable()
java.util.Iterator
iterateTransitions()
java.util.Iterator
iterateTransitions(int alphabetTypes)
Iterate transitions with specified alphabets.void
mergeTransitions(State s)
void
mergeTransitions(State s, ScopeInfo.Action action)
For all the transitions leaving from the specified state, add it to this state by appending the specified action (possibly null) at the head of its prologue actions.void
outputActionsOnExit(CDBlock sv)
Gets the code to invoke exit-actions.void
removeTransition(Transition t)
void
setAcceptable(boolean newvalue)
-
-
-
Field Detail
-
_locationHint
public final Pattern _locationHint
Pattern from which this state was created.
-
-
Method Detail
-
setAcceptable
public void setAcceptable(boolean newvalue)
-
isAcceptable
public boolean isAcceptable()
-
getActionsOnExit
public ScopeInfo.Action[] getActionsOnExit()
-
outputActionsOnExit
public void outputActionsOnExit(CDBlock sv)
Gets the code to invoke exit-actions.
-
addActionOnExit
public void addActionOnExit(ScopeInfo.Action act)
-
addActionsOnExit
public void addActionsOnExit(ScopeInfo.Action[] act)
-
getContainer
public ScopeInfo getContainer()
-
getIndex
public int getIndex()
-
addTransition
public void addTransition(Transition t)
-
removeTransition
public void removeTransition(Transition t)
-
iterateTransitions
public java.util.Iterator iterateTransitions()
-
hasTransition
public boolean hasTransition(int alphabetTypes)
Checks if this state has transitions with at least one of given types of alphabets.- Parameters:
alphabetTypes
- OR-ed combination of alphabet types you want to iterate.
-
iterateTransitions
public java.util.Iterator iterateTransitions(int alphabetTypes)
Iterate transitions with specified alphabets.- Parameters:
alphabetTypes
- OR-ed combination of alphabet types you want to iterate.
-
compareTo
public int compareTo(java.lang.Object obj)
- Specified by:
compareTo
in interfacejava.lang.Comparable
-
mergeTransitions
public void mergeTransitions(State s)
-
mergeTransitions
public void mergeTransitions(State s, ScopeInfo.Action action)
For all the transitions leaving from the specified state, add it to this state by appending the specified action (possibly null) at the head of its prologue actions.
-
findTransition
public Transition findTransition(Alphabet a)
finds a transition invoked by the passed alphabet
-
getReachableStates
public State[] getReachableStates()
Gets all the states reachable from this state.
-
head
public java.util.Set head(boolean includeEE)
Computes HEAD set of this state. SeeHead
for the definition.
-
attHead
public java.util.Set attHead()
Computes ATTHEAD set of this state and returns them in a sorted order. SeeHEAD
for the definition.
-
AFollow
public java.util.Set AFollow()
-
calcAFOLLOW
public void calcAFOLLOW()
Computes AFOLLOW from this state.
-
-