The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DFA::Statemap

DESCRIPTION

This is the SMC (State Machine Compiler) runtime for target language Perl.

See http://smc.sourceforge.net/.

This namespace contains two class :

State

the base State class

FSMContext

the Finite State Machine Context class

DFA::Statemap::State

new

Constructor.

getName

Returns the state's printable name.

getId

Returns the state's unique identifier.

DFA::Statemap::FSMContext

The user can derive FSM contexts from this class and interface to them with the methods of this class.

The finite state machine needs to be initialized to the starting state of the FSM. This must be done manually in the constructor of the derived class.

new ( $init_state )

Default constructor.

getDebugFlag

Returns the debug flag's current setting.

setDebugFlag

Sets the debug flag. A true value means debugging is on and false means off.

getDebugStream

Returns the stream to which debug output is written.

setDebugStream

Sets the debug output stream.

getState

Returns the current state.

isInTransition

Is this state machine already inside a transition?

True if state is undefined.

getTransition

Returns the current transition's name.

Used only for debugging purposes.

clearState

Clears the current state.

getPreviousState

Returns the state which a transition left.

May be undef.

setState

Sets the current state to the specified state.

isStateStackEmpty

Returns true if the state stack is empty and false otherwise.

getStateStackDepth

Returns the state stack's depth.

pushState

Push the current state on top of the state stack and make the specified state the current state.

popState

Make the state on top of the state stack the current state.

emptyStateStack

Remove all states from the state stack.

LICENSE

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

AUTHORS

The Original Code is State Machine Compiler (SMC).

The Initial Developer of the Original Code is Charles W. Rapp.

Port to Perl by Francois Perrad, francois.perrad@gadz.org

Copyright 2004-2009, Francois Perrad. All Rights Reserved.

Contributor(s):

HISTORY

This module was previously named StateMachine::Statemap.

SEE ALSO

http://smc.sourceforge.net/