Come all without. Come all within. You've not seen nothing like the mighty FSM.

This episode is all about Finite State Machines: what they are, why and when to use them, how to represent them, and how to implement them with The State Pattern.

Yes, this is part of our series on Design Patterns. It's also the first of at least three episodes that will lead us from the State pattern to the Visitor pattern.

It's going to be an interesting journey. We begin it here by talking about state machines and how remarkably useful they are and how frustrating they can be to implement. By the end of this episode we'll have decided that the solution to that frustration is to write a compiler that generates the code from a simple syntax.

The next few episodes will explore how to write that compiler, and how to use Finite State Machines to do it.

These next few episodes are going to be fun, challenging, and important. You aren't going to want to miss them!