Esempio n. 1
0
int main() {
  event_t events[] = {EVT_A, EVT_B, EVT_B, EVT_C, EVT_C,
                      EVT_A, EVT_C, EVT_B, EVT_A};
  fsm_t fsm;
  fsm_init(&fsm);
  size_t events_max = sizeof(events) / sizeof(event_t);
  printf("|E| = %zu\n", events_max);
  for (size_t i = 0; i < events_max; i++) {
    fsm_transition(&fsm, events[i]);
  }
}
Esempio n. 2
0
int main(void)
{
	FSM* fsm = init_fsm();
	int value0[] = {0};
	int value1[] = {1};
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1));
	printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0));
	free_fsm(fsm);
	return 0;
}