Finite-state recognizer