MOAL.automata_theory.finite_state_machine package¶
Submodules¶
MOAL.automata_theory.finite_state_machine.fsm module¶
-
class
MOAL.automata_theory.finite_state_machine.fsm.Acceptor(states={}, default=None, debug=False, max=20)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.fsm.FiniteStateMachine-
test(string)¶
-
-
class
MOAL.automata_theory.finite_state_machine.fsm.Classifier(states={}, default=None, debug=False, max=20)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.fsm.AcceptorFrom Wikipedia: “Classifier is a generalization that, similar to acceptor, produces single output when terminates but has more than two terminal states.”
-
class
MOAL.automata_theory.finite_state_machine.fsm.FiniteStateMachine(states={}, default=None, debug=False, max=20)[source]¶ Bases:
object-
__delitem__(state)¶
-
__getitem__(state)¶
-
__init__(states={}, default=None, debug=False, max=20)¶
-
__setitem__(state, data)¶
-
__str__()¶
-
_get_current()¶
-
_get_transition(edge)¶
-
_print(edge, old, new)¶
-
_set_current(node_label)¶
-
_xform(edge)¶ Allows customization of coercion function, for the transition key type, and/or index naming convention - some require ints, some strings, multiple nested indices, etc... This removes the requirement to override _get_transition with a lot more code.
-
get_next_value(node, edge)¶
-
reset()¶
-
transition(edge)¶
-
MOAL.automata_theory.finite_state_machine.markov_chain module¶
MOAL.automata_theory.finite_state_machine.recognizer module¶
-
class
MOAL.automata_theory.finite_state_machine.recognizer.Recognizer(states={}, default=None, debug=False, max=20)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.fsm.Acceptor-
_xform(edge)¶
-
recognize(digits)¶
-
-
class
MOAL.automata_theory.finite_state_machine.recognizer.RegularExpression(states={}, default=None, debug=False, max=20)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.recognizer.Recognizer
MOAL.automata_theory.finite_state_machine.transducer module¶
-
class
MOAL.automata_theory.finite_state_machine.transducer.ControlApplicationTransducer(*args, **kwargs)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.transducer.Transducer
-
class
MOAL.automata_theory.finite_state_machine.transducer.MealyMachine(*args, **kwargs)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.transducer.ControlApplicationTransducer
-
class
MOAL.automata_theory.finite_state_machine.transducer.MooreMachine(*args, **kwargs)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.transducer.ControlApplicationTransducer-
run(**kwargs)¶ Moore Machines signal to the outside world (or other FSMs) the current state of the machine (based on the last run transition path, in this case.)
-
-
class
MOAL.automata_theory.finite_state_machine.transducer.RichardsController(*args, **kwargs)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.transducer.MealyMachineFrom Wikipedia: “Each state is represented as a transfer condition on the flowchart. Each condition has two control paths leading out of it, a YES or a NO.”
-
class
MOAL.automata_theory.finite_state_machine.transducer.Sequencer(*args, **kwargs)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.transducer.TransducerFrom Wikipedia: “The sequencers or generators are a subclass of aforementioned types that have a single-letter input alphabet. They produce only one sequence, which can be interpreted as output sequence of transducer or classifier outputs.”
e.g. Seq-0 = S1 -> S2, Seq-1 = S2 -> S3, Seq-N = SN -> SN + 1, etc...
-
class
MOAL.automata_theory.finite_state_machine.transducer.Transducer(*args, **kwargs)[source]¶ Bases:
MOAL.automata_theory.finite_state_machine.fsm.FiniteStateMachine-
__init__(*args, **kwargs)¶
-
_run(node=None, edge=None)¶
-
run(**kwargs)¶
-
run_all()¶
-