void main() {
    // Устанавливаем автомат в начальное состояние
    State_t state = s0; 
    while(state != sX) {
        // Ждем, пока не произойдет событие
        e0();
        switch(state) {
            case s0:
    state = func_s0();
                break;
...
            case sX:
                state = func_sX();
                break;
        }    
    }
}