These are the state transitions tables produced by ZMech for the crisis.ipd state diagram.
void enter_crisis_level_0(EVENT, STATE, STATE, int, int, int, int);
void enter_crisis_level_1(EVENT, STATE, STATE, int, int, int, int);
void enter_crisis_level_2(EVENT, STATE, STATE, int, int, int, int);
void enter_situation_normal(EVENT, STATE, STATE, int, int, int, int);
struct EVENT_DISPATCH_TABLE
  event_dispatch_tbl[] =
{
{ event_000, state_001, state_002, enter_crisis_level_0, crisis_level_0_state, 75, 100 },
{ event_000, state_005, state_003, enter_crisis_level_1, crisis_level_1_state, 76, 101 },
{ event_000, state_006, state_004, enter_crisis_level_2, crisis_level_2_state, 77, 102 },
{ event_000, state_007, state_008, enter_crisis_level_2, crisis_level_2_state, 78, 106 },
{ event_001, state_002, state_001, enter_situation_normal, situation_normal_state, 79, 99 },
{ event_001, state_003, state_005, enter_crisis_level_1, crisis_level_1_state, 80, 103 },
{ event_001, state_008, state_007, enter_crisis_level_2, crisis_level_2_state, 81, 105 },
{ event_001, state_004, state_006, enter_crisis_level_2, crisis_level_2_state, 82, 104 },
{ event_002, state_002, state_003, enter_crisis_level_1, crisis_level_1_state, 83, 101 },
{ event_002, state_008, state_004, enter_crisis_level_2, crisis_level_2_state, 84, 102 },
{ event_002, state_001, state_005, enter_crisis_level_1, crisis_level_1_state, 85, 103 },
{ event_002, state_007, state_006, enter_crisis_level_2, crisis_level_2_state, 86, 104 },
{ event_003, state_005, state_001, enter_situation_normal, situation_normal_state, 87, 99 },
{ event_003, state_006, state_007, enter_crisis_level_2, crisis_level_2_state, 88, 105 },
{ event_003, state_004, state_008, enter_crisis_level_2, crisis_level_2_state, 89, 106 },
{ event_003, state_003, state_002, enter_crisis_level_0, crisis_level_0_state, 90, 100 },
{ event_004, state_003, state_004, enter_crisis_level_2, crisis_level_2_state, 91, 102 },
{ event_004, state_005, state_006, enter_crisis_level_2, crisis_level_2_state, 92, 104 },
{ event_004, state_002, state_008, enter_crisis_level_2, crisis_level_2_state, 93, 106 },
{ event_004, state_001, state_007, enter_crisis_level_2, crisis_level_2_state, 94, 105 },
{ event_005, state_007, state_001, enter_situation_normal, situation_normal_state, 95, 99 },
{ event_005, state_008, state_002, enter_crisis_level_0, crisis_level_0_state, 96, 100 },
{ event_005, state_006, state_005, enter_crisis_level_1, crisis_level_1_state, 97, 103 },
{ event_005, state_004, state_003, enter_crisis_level_1, crisis_level_1_state, 98, 101 },
};
#define event_tbl_len 24
NOTE:
In this instance the state transition functions are prefixed by "enter_"
and the state functions are prefixed by "crisis_level_" (except for the
state function "situation_normal_state"). The code for these functions
is supplied by the developer in the form of a C function and their names
are entered as part of the state diagram. The state transition function
is called by the state machine dispatcher to perform a specific task
depending on the state transition i.e. in response to an event. The
state function is repeatedly called by the state machine dispatcher to
perform a specific task depending on the current state when there are no
events outstanding. All the code supplied and generated will allow the
state machine to be downloaded and run directly by an embedded micro
controller.