Formal Syntax and Semantics of Java
Title | Formal Syntax and Semantics of Java PDF eBook |
Author | Jim Alves-Foss |
Publisher | Springer Science & Business Media |
Pages | 410 |
Release | 1999-06-09 |
Genre | Computers |
ISBN | 3540661581 |
Java, undoubtedly, has its roots in embedded systems and the Web. Nevertheless, it is a fully functional high-level programming language that can provide users with a wide range of functionality and versatility. This thoroughly cross-reviewed state-of-the-art survey is devoted to the study of the syntax and semantics of Java from a formal-methods point of view. It consists of the following chapters by leading researchers: Formal Grammar for Java; Describing the Semantics of Java and Proving Type Soundness; Proving Java Type Soundness; Machine-Checking the Java Specification: Proving Type-Safety; An Event-Based Structural Operational Semantics of Multi-Threaded Java Dynamic Denotational Semantics of Java; A Programmer's Reduction Semantics for Classes and Mixins; A Formal Specification of Java Virtual Machine Instructions for Objects, Methods and Subroutines; The Operational Semantics of a Java Secure Processor; A Programmer Friendly Modular Definition of the Semantics of Java.
Formal Syntax and Semantics of Java
Title | Formal Syntax and Semantics of Java PDF eBook |
Author | Jim Alves-Foss |
Publisher | Springer |
Pages | 410 |
Release | 2003-07-31 |
Genre | Computers |
ISBN | 3540487379 |
Java, undoubtedly, has its roots in embedded systems and the Web. Nevertheless, it is a fully functional high-level programming language that can provide users with a wide range of functionality and versatility. This thoroughly cross-reviewed state-of-the-art survey is devoted to the study of the syntax and semantics of Java from a formal-methods point of view. It consists of the following chapters by leading researchers: Formal Grammar for Java; Describing the Semantics of Java and Proving Type Soundness; Proving Java Type Soundness; Machine-Checking the Java Specification: Proving Type-Safety; An Event-Based Structural Operational Semantics of Multi-Threaded Java Dynamic Denotational Semantics of Java; A Programmer's Reduction Semantics for Classes and Mixins; A Formal Specification of Java Virtual Machine Instructions for Objects, Methods and Subroutines; The Operational Semantics of a Java Secure Processor; A Programmer Friendly Modular Definition of the Semantics of Java.
Crafting Interpreters
Title | Crafting Interpreters PDF eBook |
Author | Robert Nystrom |
Publisher | Genever Benning |
Pages | 1021 |
Release | 2021-07-27 |
Genre | Computers |
ISBN | 0990582949 |
Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam. That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun. This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.
Formal Syntax and Semantics of Programming Languages
Title | Formal Syntax and Semantics of Programming Languages PDF eBook |
Author | Kenneth Slonneger |
Publisher | Addison-Wesley Longman |
Pages | 664 |
Release | 1995 |
Genre | Computers |
ISBN |
With this book, readers with a basic grounding in discreet mathematics will be able to understand the practical applications of these difficult concepts. The book presents the typically difficult subject of "formal methods" in an informal, easy-to-follow manner. A "laboratory component" is integrated throughout the text.
Foundations of Programming Languages
Title | Foundations of Programming Languages PDF eBook |
Author | Kent D. Lee |
Publisher | Springer |
Pages | 365 |
Release | 2015-01-19 |
Genre | Computers |
ISBN | 3319133144 |
This clearly written textbook introduces the reader to the three styles of programming, examining object-oriented/imperative, functional, and logic programming. The focus of the text moves from highly prescriptive languages to very descriptive languages, demonstrating the many and varied ways in which we can think about programming. Designed for interactive learning both inside and outside of the classroom, each programming paradigm is highlighted through the implementation of a non-trivial programming language, demonstrating when each language may be appropriate for a given problem. Features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; examines assembly language programming using CoCo; introduces C++, Standard ML, and Prolog; describes the development of a type inference system for the language Small.
Software Languages
Title | Software Languages PDF eBook |
Author | Ralf Lämmel |
Publisher | Springer |
Pages | 448 |
Release | 2018-05-17 |
Genre | Computers |
ISBN | 3319908006 |
This book identifies, defines and illustrates the fundamental concepts and engineering techniques relevant to applications of software languages in software development. It presents software languages primarily from a software engineering perspective, i.e., it addresses how to parse, analyze, transform, generate, format, and otherwise process software artifacts in different software languages, as they appear in software development. To this end, it covers a wide range of software languages – most notably programming languages, domain-specific languages, modeling languages, exchange formats, and specifically also language definition languages. Further, different languages are leveraged to illustrate software language engineering concepts and techniques. The functional programming language Haskell dominates the book, while the mainstream programming languages Python and Java are additionally used for illustration. By doing this, the book collects and organizes scattered knowledge from software language engineering, focusing on application areas such as software analysis (software reverse engineering), software transformation (software re-engineering), software composition (modularity), and domain-specific languages. It is designed as a textbook for independent study as well as for bachelor’s (advanced level) or master’s university courses in Computer Science. An additional website provides complementary material, for example, lecture slides and videos. This book is a valuable resource for anyone wanting to understand the fundamental concepts and important engineering principles underlying software languages, allowing them to acquire much of the operational intelligence needed for dealing with software languages in software development practice. This is an important skill set for software engineers, as languages are increasingly permeating software development.
Programming Languages and Systems
Title | Programming Languages and Systems PDF eBook |
Author | David Sands |
Publisher | Springer |
Pages | 445 |
Release | 2003-06-29 |
Genre | Computers |
ISBN | 3540453091 |
ETAPS 2001 was the fourth instance of the European Joint Conferences on Theory and Practice of Software. ETAPS is an annual federated conference that was established in 1998 by combining a number of existing and new conferences. This year it comprised ve conferences (FOSSACS, FASE, ESOP, CC, TACAS), ten satellite workshops (CMCS, ETI Day, JOSES, LDTA, MMAABS, PFM, RelMiS, UNIGRA, WADT, WTUML), seven invited lectures, a debate, and ten tutorials. The events that comprise ETAPS address various aspects of the system de- lopment process, including speci cation, design, implementation, analysis, and improvement. The languages, methodologies, and tools which support these - tivities are all well within its scope. Di erent blends of theory and practice are represented, with an inclination towards theory with a practical motivation on one hand and soundly-based practice on the other. Many of the issues involved in software design apply to systems in general, including hardware systems, and the emphasis on software is not intended to be exclusive.