Project Oberon - The Design of an Operating System and Compiler
by Niklaus Wirth, Jürg Gutknecht
Number of pages: 441
This book presents the results of Project Oberon, namely an entire software environment for a modern workstation. The project was undertaken by the authors in the years 1986-89, and its primary goal was to design and implement an entire system from scratch, and to structure it in such a way that it can be described, explained, and understood as a whole. In order to become confronted with all aspects, problems, design decisions and details, the authors not only conceived but also programmed the entire system described in this book, and more. Although there exist numerous books explaining principles and structures of operating systems, there is a lack of descriptions of systems actually implemented and used. The book gives advice on how a system might be built, and demonstrates how one was built. Program listings therefore play a key role in this text, because they alone contain the ultimate explanations.
Home page url
Download or read it online for free here:
by Jack Crenshaw
A tutorial on the theory and practice of developing language parsers and compilers. It covers every aspect of compiler construction, programming language design, and building a working compiler. More theoretical aspects of the subject are ignored.
The goal of this book is to have a community documentation providing extensive and up-to-date instructional information about how to use the open-source ROSE compiler framework, developed at Lawrence Livermore National Laboratory.
by Vincent Chung - Free Software Foundation, Inc.
This manual documents how to run, install and port the GNU compiler, as well as its new features. It corresponds to GCC version 3.0. Only the options for the C, Objective-C, and C++ compilers and those of the GCC core are discussed.
by William M. Waite, Gerhard Goos - Springer
Our intent is to provide the reader with a firm theoretical basis for compiler construction and sound engineering principles for selecting alternate methods, implementing them, and integrating them into a reliable, economically viable product.