Deterministic finite state automaton