Compiler generators : what they can do, what they might do, and what they will probably never do
著者
書誌事項
Compiler generators : what they can do, what they might do, and what they will probably never do
(EATCS monographs on theoretical computer science, v. 19)
Springer-Verlag, c1990
- : u.s.
- : gw
大学図書館所蔵 件 / 全35件
-
該当する所蔵館はありません
- すべての絞り込み条件を解除する
注記
Based on the author's thesis (Ph. D.)--Copenhagen, 1984
Includes bibliographical references and index
Translated from Danish
内容説明・目次
内容説明
The OrIgIn of this monograph is a course entitled "Semantics directed Compiler Generation" which Professor Neil D. Jones gave in 1982 at Copenhagen University, where I was a student at the time. In this course, he described a compiler generator, called CERES, which he was developing. I immediately felt attracted to the unusual combination of mathematical reasoning about com pilers and the small intricate building blocks that made up the running system. As I came to understand the system I discovered that within the existing mathematical framework one could express compiler generation as a special case of compilation; this led to a specification of a compiler generator which was bootstrapped on itself resulting in a machine-generated compiler generator. The purpose of this monograph is to describe the CERES system we produced in 1983-84 and compare it with other systems, includ ing more recent ones. Also, it is as relevant today as it was then to discuss the role of compiler generators as an aid in the design and implementation of programming languages; this I do in Chap. 5. This monograph is a strongly revised version of the cando scient.
目次
1 Introduction.- 1.1 The Scope of This Monograph.- 2 Report on the Compiler Generator CERES.- 2.1 Overview of CERES.- 2.1.1 On Composition of Programs.- 2.2 Description of Input to CERES.- 2.2.1 On "Concrete" Versus "Abstract" Syntax.- 2.2.2 The Semantic Language S.- 2.2.3 Writing Language Definitions.- 2.2.3.1 An Example: the Definition of LOOP.- 2.2.3.2 Extension with Products.- 2.2.3.3 Important Terminology Concerning Definitions.- 2.2.3.4 The Differences Between the Languages D and DS.- 2.2.4 Writing Interpretations.- 2.3 The Object Language T.- 2.4 The Compilers Generated by CERES.- 2.4.1 Translation from S into T by dS2T.- 2.4.2 Compilers Written as "Compiling Definitions".- 2.4.3 Compilers Written as Object Programs.- 2.4.4 Summary.- 2.5 The Compiler Generator.- 2.5.1 Compiler Generation Considered as Compilation.- 2.5.2 Definitions Regarded as Programs.- 2.5.2.1 The Abstract Syntax D of Definitions.- 2.5.2.2 The Language D.- 2.5.3 Translation from ? to D? by d' S2T.- 2.5.4 Translation from D? to S by dD?2S.- 2.5.5 The Definition ? of ?.- 2.5.6 The Compiler Generator cocom.- 2.5.7 How cocom Itself Was Generated.- 2.6 Implementation and Experience.- 2.6.1 Hardware and Software.- 2.6.2 Performance.- 2.6.3 The CERES Project.- 3 Compiler Generation, Composability, and Self-composability.- 3.1 Programming Languages and Compilers.- 3.2 The Compiler Generation Problem.- 3.3 Using a Semantic Language to Define Programming Languages.- 3.4 Composability and Self-composability.- 4 Discussion of Technical Aspects of Compiler Generation.- 4.1 The Algebraic Connection.- 4.1.1 Basic Concepts.- 4.1.2 Compiler Algebras and Homomorphic Translation.- 4.1.3 The Difference Between Compiler Algebras and Target Language Algebras.- 4.1.4 On the Need for Powerful Compiler Algebra Operations.- 4.1.5 Conclusion.- 4.2 On Choosing Good Semantic Languages.- 4.2.1 Mosses' "Semantics Implementation System" (SIS).- 4.2.2 Paulson's Compiler Generator (PCG).- 4.2.3 CERES and LAMBDA-CERES.- 4.2.4 The SAM System.- 4.2.5 Conclusion.- 4.3 Interface Problems.- 5 On Semantics, Compiler Generation, and Hacking.- 5.1 On the Nature of Machine-Readable Language Definitions.- 5.2 On Writing Language Definitions.- 5.3 On the Role of Mathematical Proofs.- Appendix 1 The LOOP Interpretation.- Appendix 4 The SelfComposer.- References.- Table of Symbols and Their Meanings.
「Nielsen BookData」 より