Python state-machine design

I don’t really get the question. The State Design pattern is pretty clear. See the Design Patterns book. class SuperState( object ): def someStatefulMethod( self ): raise NotImplementedError() def transitionRule( self, input ): raise NotImplementedError() class SomeState( SuperState ): def someStatefulMethod( self ): actually do something() def transitionRule( self, input ): return NextState() That’s pretty … Read more

state machines tutorials [closed]

State machines are very simple in C if you use function pointers. Basically you need 2 arrays – one for state function pointers and one for state transition rules. Every state function returns the code, you lookup state transition table by state and return code to find the next state and then just execute it. … Read more

Short example of regular expression converted to a state machine?

A rather convenient way to help look at this to use python’s little-known re.DEBUG flag on any pattern: >>> re.compile(r'<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>’, re.DEBUG) literal 60 subpattern 1 in range (65, 90) max_repeat 0 65535 in range (65, 90) range (48, 57) at at_boundary max_repeat 0 65535 not_literal 62 literal 62 subpattern 2 min_repeat 0 65535 any None … Read more

Simple state machine example in C#?

Let’s start with this simple state diagram: We have: 4 states (Inactive, Active, Paused, and Exited) 5 types of state transitions (Begin Command, End Command, Pause Command, Resume Command, Exit Command). You can convert this to C# in a handful of ways, such as performing a switch statement on the current state and command, or … Read more

C state-machine design [closed]

State machines that I’ve designed before (C, not C++) have all come down to a struct array and a loop. The structure basically consists of a state and event (for look-up) and a function that returns the new state, something like: typedef struct { int st; int ev; int (*fn)(void); } tTransition; Then you define … Read more