Module sm :: Class Switch
[frames] | no frames]

Class Switch

SM --+
     |
    Switch
Known Subclasses:

Given a condition (function from inps to boolean) and two state machines, make a new machine. The condition is evaluated on every step, and the selected machine is used to generate output and has its state updated. If the condition is true, sm1 is used, and if it is false, sm2 is used.

Instance Methods
 
__init__(self, condition, sm1, sm2, name=None)
 
startState(self)
By default, startState is none
 
getNextValues(self, state, inp)
Default version of this method.
 
done(self, state)
By default, machines don't terminate
 
printDebugInfo(self, depth, state, nextState, inp, out, debugParams)
Default method for printing out all of the debugging information for a primitive machine.

Inherited from SM: check, doTraceTasks, getStartState, guaranteeName, isDone, run, start, step, transduce, transduceF

Class Variables

Inherited from SM: legalInputs, name

Instance Variables

Inherited from SM: state

Method Details

__init__(self, condition, sm1, sm2, name=None)
(Constructor)

 
Parameters:
  • condition - Procedure mapping inp -> Boolean
  • sm1 - SM
  • sm2 - SM

startState(self)

 

By default, startState is none

Overrides: startState

getNextValues(self, state, inp)

 

Default version of this method. If a subclass only defines getNextState, then we assume that the output of the machine is the same as its next state.

Overrides: SM.getNextValues
(inherited documentation)

done(self, state)

 

By default, machines don't terminate

Overrides: SM.done
(inherited documentation)

printDebugInfo(self, depth, state, nextState, inp, out, debugParams)

 

Default method for printing out all of the debugging information for a primitive machine.

Overrides: SM.printDebugInfo
(inherited documentation)