A finite state machine is a simple machine that will either accept or reject an input. The [[https://en.wikipedia.org/wiki/Finite-state_machine][Wikipedia article] can give you an overview and so can many other resources on the Internet. To write a program for a finite state machine can be a complex task. However, to simulate one is MUCH easier. This program is to simulate a FSM