Designing and Building Parallel Programs provides a comprehensive introduction to parallel algorithm design, performance analysis, and program construction. Describes the tools needed to write parallel programs and provides numerous examples. …
The Little Book of Semaphores
The Little Book of Semaphores is a free textbook that introduces the principles of synchronization for concurrent programming. The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. …
The GENTLE Compiler Construction System
The GENTLE Compiler Construction System, originally designed in 1989 at the German National Research Center for Information Technolgy, is now in industrial use for fifteen years. …
Tree Automata Techniques and Applications
The two first chapters contain the basics on Tree Automata theory for finite ordered ranked trees. Chapter 3 shows connections between Logic and Tree Automata. Chapter 4 presents Automata with Constraints. Chapter 5 presents Automata for Sets of Tree Languages. Chapter 6 gives the basics on Tree Transducers. Chapter 7 presents Alternating Tree Automata. Chapter 8 is about automata for unranked trees. …
Understanding Programming Languages
Understanding Programming Languages explains: what alternatives are available to the language designer, how language constructs should be used for safety and readability, how language constructs are implemented, the role of language in expressing and enforcing abstractions. …
Semantics with Applications
In July 1999, a revised edition has been made available for download, in gzip’ed postscript, postcript (recommended), or pdf formats. The purpose of this book is to present the fundamental ideas behind operational, denotional and axiomatic semantics; stress their relationship by formulating and proving relevant theorems; and to illustrate the applicability of formal semantics as a tool in computer science. …
Partial Evaluation and Automatic Program Generation
The book Partial Evaluation and Automatic Program Generation gives a comprehensive presentation of partial evaluation: theory, techniques, and applications. It is suitable for self-study, and for graduate courses and advanced undergraduate courses on program transformation techniques. …
Let’s Build a Compiler
This series of articles is a tutorial on the theory and practice of developing language parsers and compilers. Before we are finished, we will have covered every aspect of compiler construction, designed a new programming language, and built a working compiler. …
Learning to Program
This free online programming book covers the basic theory of computer programming – what it is, some of its history and the basic techniques needed to solve problems. …
A++ The Smallest Programming Language in the World
A++ The Smallest Programming Language in the World – An Educational Programming Language. Including an Introduction to the Lambda Calculus. A++ is a minimal programming language that has been built on the Lambda Calculus with the purpose to serve as a learning instrument rather than as a programming language used to solve practical problems. …