C99
https://habrahabr.ru/post/241941/
С промежуточными состояниями.
http://popayaem.ru/konechnye-avtomaty-kak-programmirovat-bez-zaparok.html
Стек. Своего рода разбиение на части.
https://tproger.ru/translations/finite-state-machines-theory-and-implementation/
Verilog
ded32.net.ru/news/2014-02-25-75
Разбиение на части.
Выделение в метод возвратной части конечного автомата.
Выделение в метод последовательной части конечного автомата
Выделение составного состояния по общему переходу.
Выделение составного состояния по общему возвратному переходу