Leslie Lamport: Computer Science and State Machines (2008) [pdf]
research.microsoft.com
research.microsoft.com
State machines are very versatile. One can do provably safe transformations on them with suitable tools. One can derive them from functional languages where most of developing and proving work is done. I've seen several techniques of high-level synthesis for hardware that produce, split, optimize, merge, etc various FSM's to go from high-level function to logic gates. Many formal verification tools, esp easier model checkers, work well with them. All this makes them a powerful tool worth mastering and using more than we do.
That's been my order for years. Empirical evidence supports it so far.
http://research.microsoft.com/en-us/um/people/lamport/pubs/p...
Eh... for BNF grammars, you'd need a stack. Or an infinite state machine.
"For example, a BNF grammar can be described by a state machine whose states are sequences of terminals and/or non-terminals. The set of initial states contains only the sequence consisting of the single starting non-terminal. The next-state relation is defined to contain <s, t> iff s can be transformed to t by applying a production rule to expand a single non-terminal."
I suppose you could represent a PDA as an infinite state machine but the "stack" abstraction is kept around because it's clearer/easier to reason about. See, for example, the proof that CFLs are accepted by NPDAs and its correspondence with LR0 parsing.
Finding a more suitable reference point, I hope. If everyone who isn't Leslie Lamport is a failure, you're not an imposter - you're playing the role of a failure like the rest of us.