relaxngcc.automaton
Class Transition

java.lang.Object
  extended byrelaxngcc.automaton.Transition
All Implemented Interfaces:
WithOrder

public final class Transition
extends java.lang.Object
implements WithOrder

A Trnasition is a tuple of an Alphabet, a next state, and user-defined action.


Field Summary
 
Fields inherited from interface relaxngcc.automaton.WithOrder
orderComparator
 
Constructor Summary
Transition(Alphabet a, State n, int o)
          Creates Transition with no action.
 
Method Summary
 void changeDestination(State s)
           
 java.lang.Object clone()
           
 Transition clone(State next)
           
static Transition createActionOnlyTransition(State next, ScopeInfo.Action act)
           
 Alphabet getAlphabet()
           
 ScopeInfo.Action[] getEpilogueActions()
          Gets all epilogue actions.
 int getOrder()
           
 ScopeInfo.Action[] getPrologueActions()
          Gets all prologue actions.
 int getUniqueId()
           
 boolean hasAction()
          Returns true if this transition has any associated action.
 java.util.Set head(boolean includeEE)
          Computes HEAD set of this transition.
 void insertEpilogueAction(ScopeInfo.Action newAction)
          Adds a new action at head of the epilogue actions.
 void insertEpilogueActions(ScopeInfo.Action[] newActions)
           
 void insertPrologueAction(ScopeInfo.Action newAction)
          Adds a new action at head of the prologue actions.
 CDBlock invokeEpilogueActions()
          Gets the code to invoke all the epilogue actions.
 CDBlock invokePrologueActions()
          Gets the code to invoke all the prologue actions.
 State nextState()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Transition

public Transition(Alphabet a,
                  State n,
                  int o)
Creates Transition with no action.

Method Detail

getOrder

public int getOrder()
Specified by:
getOrder in interface WithOrder

createActionOnlyTransition

public static Transition createActionOnlyTransition(State next,
                                                    ScopeInfo.Action act)

insertPrologueAction

public void insertPrologueAction(ScopeInfo.Action newAction)
Adds a new action at head of the prologue actions.


insertEpilogueAction

public void insertEpilogueAction(ScopeInfo.Action newAction)
Adds a new action at head of the epilogue actions.


insertEpilogueActions

public void insertEpilogueActions(ScopeInfo.Action[] newActions)

getPrologueActions

public ScopeInfo.Action[] getPrologueActions()
Gets all prologue actions.


getEpilogueActions

public ScopeInfo.Action[] getEpilogueActions()
Gets all epilogue actions.


invokePrologueActions

public CDBlock invokePrologueActions()
Gets the code to invoke all the prologue actions.


invokeEpilogueActions

public CDBlock invokeEpilogueActions()
Gets the code to invoke all the epilogue actions.


hasAction

public boolean hasAction()
Returns true if this transition has any associated action.


clone

public java.lang.Object clone()

clone

public Transition clone(State next)

getAlphabet

public Alphabet getAlphabet()

nextState

public State nextState()

getUniqueId

public int getUniqueId()

changeDestination

public void changeDestination(State s)

head

public java.util.Set head(boolean includeEE)
Computes HEAD set of this transition. See Head for the definition.