Finite-state Automaton