4 ms·
I see it is mostly focused on semantics: operational, translational, denotational, axiomatic, complementary. I wish there were more books focused on that aspec
by nudpiedo 4y ago
I see it is mostly focused on semantics: operational, translational, denotational, axiomatic, complementary.
I wish there were more books focused on that aspect. I will definitely take a look at it over the weekend.
- rramadass 4y ago1) Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach by Kenneth Slonneger and Barry Kurtz - https://homepage.divms.uiowa.edu/~slonnegr/ https://homepage.divms.uiowa.edu/~slonnegr/ (PDFs are available on the web). 2) You may also find Cliff B. Jones' book Understanding Programming Languages useful. Excerpt from the preface; Fortunately, there is a less expensive way of sorting out the meaning of a programming language than writing a compiler. This book is about describing the meaning (semantics) of programming languages. A major objective is to teach the skill of writing semantic descriptions because this provides a way to think out and make choices about the semantic features of a programming language in a cost effective way. In one sense a compiler (or an interpreter) offers a complete formal description of the semantics of its source language. But it is not something that can be used as a basis for reasoning about the source language; nor can it serve as a definition of a programming language itself since this must allow a range of implementations. Writing a formal semantics of a language can yield a far shorter description and one about which it is possible to reason. To think that it is a sensible engineering process to go from a collection of sample programs directly to coding a compiler would be naive in the extreme. What a formal semantic description offers is a way to think out, record and analyse design choices in a language; such a description can also be the basis of a systematic development process for subsequent compilers. To record a description of the semantics of a language requires a notation —a “meta-language”. The meta-language used in this book is simple and is covered in easy steps throughout the early chapters.
- mkehrt 4y agoFor a good look at type theory and its relationship to operational semantics in particular, Pierce's Types and Programming Languages is the classic. I suspect Harper's Practical Foundations for Programming Languages has a similar approach though I've not read it.