12.3 Finite-State Methods