I cut my teeth on Scott-Strachey Denotational Semantics, which used little more that Set Theory as its object language. But this book is based on Polymorphic Typed Lambda Calculus, which is actually a richer language than the one I am trying to define! Also, the fact that the meaning of a program is a mathematical object is lost. Semantics as given here merely translates from one programming language to another: it is a compiler. The beauty of the Set Theory formalism is that it provides an escape from computer science to a world where thing are proved rather than executed.
Nevertheless, it is a useful refresher, and it does lay out the notation I require.
This book was written using Pascal and Algol-68 as teaching languages. Younger readers might find that more difficult than I did.