Minimalist implementations in C99:
Finite State Machine (FSM)
Hierarchical State Machine (HSM) with usage example.