
"Programming Language Pragmatics addresses the fundamental principles at work in the most important contemporary languages, highlights the critical relationship between language design and language implementation, and devotes special attention to issues of importance to the expert programmer. Thanks to its rigorous but accessible teaching style, you'll emerge better prepared to choose the best language for particular projects, to make more effective use of languages you already know, and to learn new languages quickly and completely."--BOOK JACKET.
"Engineering a Compiler" is quite approachable.
But, once you know the basics, you get the best bang-for-the-buck by looking at source code of various compilers and virtual machines.
https://www.goodreads.com/book/show/89197.Programming_Langua...
- Lewis Dartnell The Knowledge: This book made me realize the fragility of modern technology and how it is funded on chemical industry, shipping, oil, and the exploitation of natural resources.
- Peter P. Wakker Prospect Theory: This is not an easy reading but it contains one of the few understandable and detailed explanations of rank-dependent utility theory and why early probability-weighing approaches were incorrect; a must read for anyone interested in rational decision making.
- Vöcking, Alt, et. al Taschenbuch der Algorithmen: This marvelous Springer book unfortunately only seems to be available in German; it's not at all what the title suggests, but rather a book that brings the fun back to programming, like an 80s hobby programming book; various contributors lay out their favorite algorithms and techniques in short, easy to read chapters. It's like Christmas for programmers.
- Rosen Handbook of Discrete and Combinatorial Mathematics (Indian Edition): believe it or not, this handbook has helped me a lot with my work in philosophy; it's also the almost ideal handbook style, extremely concise but also very understandable. Of course, I didn't "read" this book but using it for reference was definitely worth it.
- Scott Programming Language Pragmatics: Anybody interested in creating a programming language should read this, preferably the latest edition (I don't know if it's still updated, though); I'm convinced that even though it mostly covers "generation 4" languages and earlier, if more language designers read this book, new programming languages would be better; not that anybody needs new programming languages, Common Lisp and Ada are perfectly fine.
- Jean-Claude Ellena Atlas of Perfumed Botany: Although it sounds a bit pretentious at times like the perfume market is in general (it's 90% marketing of emotions, 10% about the scent), this is a really nice and passionate book about perfumery with beautiful illustrations, written by one of the most renowned contemporary perfumers. It's also surprisingly cheap and by MIT Press.
- Duff / Gormly First Aid and Wilderness Medicine: This is perhaps the best first aid book out there. Of course, it doesn't replace a practical course but it's a great reference and generally good reading if you're interested in the topic.
There was another book I read as a child in German, translated from English. It fascinated me and was the main reason why I got interested in AI and ultimately studied philosophy and linguistics. It was about the Schank/Riesbeck group or some similar symbolic AI research at the time (during the 70s or early 80s) and mentioned meetings where members of the group watched Mork from Ork and analyzed Mork's misunderstandings. If anybody has an idea which book that was, please let me know!
Concepts of Programming Languages (11th Edition) by Robert W. Sebesta
Programming Language Pragmatics by Scott, Michael L.
I agree that I think generators could address this issue, they simply haven't.
Also I'm particularly fond of PEGs, because they match the intuitiveness of recursive descent parsers with a generator suitable formalism (though they have their rough edges as well).