home *** CD-ROM | disk | FTP | other *** search
- ; From: Dat Thuc Nguyen
- ; URL: http://www.smalltickle.com
- ;
- ; The state machine is a useful concept in many applications.
- ; The following script suggests a framework for a state machine.
- ;
- ; Replace the ECHO statements with the desired functionality
- ; for each state. Note that normally an "input" would be
- ; provided as an argument to each state_xxxx macro to allow it
- ; to decide whether to change state, and which state to change to.
-
- define state_initial {
- echo This is the \m(state) state.
- .state = warmup
- echo The next state is \m(state).
- }
-
- define state_warmup {
- echo This is the \m(state) state.
- .state = running
- echo The next state is \m(state).
- }
-
- define state_running {
- echo This is the \m(state) state.
- .state = slowdown
- echo The next state is \m(state).
- }
-
- define state_slowdown {
- echo This is the \m(state) state.
- .state = stop
- echo The next state is \m(state).
- }
-
- .state = initial
- while not equal \m(state) stop { state_\m(state) }
-
- END
-