Automata, Computability, and Complexity: Theory and Applications by Elaine Rich

The Syntax of Programming Languages

Compilers for Programming Languages

Functional Programming and the Lambda Calculus