Author: Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D.