> Based on this definition, I'm not sure if my module is a DFA or an NFA 
> state machine. In each state, you can define rules for transitioning to 
> other states. When you call the check() method, it checks each of these 
> in the order you defined them and transitions to the first state for 
> which the rule evaluates to a true value. This means that multiple 
> rules could evaluate to a true value, but since it short-circuits and 
> there is no backtracking, technically only one transition can occur.
> 
> I guess that makes it a DFA, no?

IMO yes. However its also similar to the type of production system described
by Church. (hefty IIRC on that :-)

So long as there can only be one legal transition for a given configuration
of the machine then its a DFA. 

Yves

Reply via email to