The Language of Machines: an introduction to computability and formal languages (1994)

by Robert W Floyd, Richard Beigel