void main() {
    // Устанавливаем автомат в начальное состояние
    State_t state = s0; 
    // Цикл выполняется, пока автомат не придет в конечное состояние sX
    while(state != sX) {
        // Ждем, пока не произойдет событие
        e0();
        switch(state) {
            case s0:
                if(/* Проверка  входных переменных для первой дуги */) 
                {
                    // Выполнение выходных воздействий
                    zN(); ... zM();
                    // Переход в новое состояние I
                    state = sI;
                }
                else if ...
                break;
...
            case sX:
                ...
                break;
        }    
    }
}