Brainstorm

Three different approaches:

SO question with interesting answers C state machine design.

An article that might contain good stuff State machine shortcuts

A (not really) related pattern that can be used for parsing is the Chain of responsibility pattern.

Ragel – Generate state machines specialized at parsing

PADS – Also for parsing protocols