Publication year: 2020
ISBN: 978-3-030-59257-8
Internet Resource: Please Login to download book
This book is about describing the meaning of programming languages. While a compiler or an interpreter offers a form of formal description of a language, it is not something that can be used as a basis for reasoning about that language nor can it serve as a definition of a programming language itself since this must allow a range of implementations. By writing a formal semantics of a language a designer can yield a far shorter description and tease out, analyse and record design choices.Early in the book the author introduces a simple notation, a meta-language, used to record descriptions of the semantics of languages. In a practical approach, he considers dozens of issues that arise in current programming languages and the key techniques that must be mastered in order to write the required formal semantic descriptions. The book concludes with a discussion of the eight key challenges: delimiting a language (concrete representation), delimiting the abstract content of a language, recording semantics (deterministic languages), operational semantics (non-determinism), context dependency, modelling sharing, modelling concurrency, and modelling exits.
Subject: Computer Science, Theory of Computation, Professional Computing, Programming Language, Operational Semantics, Semantics, Typed Languages, Formal Methods, Logic, Computer Science Logic, Object-Oriented Language (OOL), Concurrency, Vienna Definition Language (VDL), Vienna Development Method (VDM), Software Engineering, Programming and Operating Systems