My Account Log in

1 option

Understanding Programming Languages / by Cliff B. Jones.

SpringerLink Books Computer Science (2011-2024) Available online

View online
Format:
Book
Author/Creator:
Jones, Cliff B., Author.
Contributor:
SpringerLink (Online service)
Series:
Computer Science (SpringerNature-11645)
Language:
English
Subjects (All):
Computer science.
Programming languages (Electronic computers).
Software engineering.
Theory of Computation.
Programming Language.
Software Engineering.
Local Subjects:
Theory of Computation.
Programming Language.
Software Engineering.
Physical Description:
1 online resource (XI, 229 pages) : 42 illustrations, 17 illustrations in color.
Edition:
1st ed. 2020.
Contained In:
Springer Nature eBook
Place of Publication:
Cham : Springer International Publishing : Imprint: Springer, 2020.
System Details:
text file PDF
Summary:
This book is about describing the meaning of programming languages. The author teaches the skill of writing semantic descriptions as an efficient way to understand the features of a language. 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. The content is class-tested and suitable for final-year undergraduate and postgraduate courses. It is also suitable for any designer who wants to understand languages at a deep level. Most chapters offer projects, some of these quite advanced exercises that ask for complete descriptions of languages, and the book is supported throughout with pointers to further reading and resources. As a prerequisite the reader should know at least one imperative high-level language and have some knowledge of discrete mathematics notation for logic and set theory.
Contents:
Programming Languages
Delimiting a Language
Operational Semantics
Typing
Block Structure
Additional Issues in Sequential Languages
Alternative Semantic Approaches
Shared Variable Concurrency
Concurrent OOLs
Exceptional Ordering
Conclusions
App. A, Simple Language
App. B, Typed Language
App. C, Blocks Language
App. D, COOL
App. E, VDM Notation.
Other Format:
Printed edition:
ISBN:
978-3-030-59257-8
9783030592578
Access Restriction:
Restricted for use by site license.

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account