In a string register machine, +a(k,q) appends a to register k; ?a(k,p,q) branches according to whether its final letter is a; ?ε(k,p,q) tests emptiness; and −(k,p,q) branches to p when empty, or deletes the final letter and branches to q otherwise.