Online Library TheLib.net » Compiler Generators: What They Can Do, What They Might Do, and What They Will Probably Never Do
cover of the book Compiler Generators: What They Can Do, What They Might Do, and What They Will Probably Never Do

Ebook: Compiler Generators: What They Can Do, What They Might Do, and What They Will Probably Never Do

Author: Mads Tofte

00
27.01.2024
0
0

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.




This monograph is concerned with the problem of getting computers to transform formal language definitions into compilers. Its purpose is to demonstrate how certain simple theoretical ideas can be used to generate compilers and even compiler generators. As the title suggests, a realistic assessment of the relationship between the complexity of realistic compilation and the relative simplicity studied in theoretical work is attempted. The monograph contains an overview of existing compiler generators. The CERES '83 compiler generator, developed by Neil D. Jones and the author, is described in detail. The CERES system is based on the idea of composing language definitions and it serves as an example of a powerful novel "bootstrapping" technique by which one can generate compiler generators as well as compilers by considering a compiler generator to be, in a sense which is made mathematically precise, a special kind of compiler. The core of the CERES system is a two-page-long machine generated compiler generator. The approach uses ideas from denotational semantics and many-sorted algebra and connects them with novel ideas about how to treat programs and language definitions as data. Considerable effort has been made to present the necessary theory in a manner suitable for readers who have some practical experience but not necessarily a theoretical background in semantics.


This monograph is concerned with the problem of getting computers to transform formal language definitions into compilers. Its purpose is to demonstrate how certain simple theoretical ideas can be used to generate compilers and even compiler generators. As the title suggests, a realistic assessment of the relationship between the complexity of realistic compilation and the relative simplicity studied in theoretical work is attempted. The monograph contains an overview of existing compiler generators. The CERES '83 compiler generator, developed by Neil D. Jones and the author, is described in detail. The CERES system is based on the idea of composing language definitions and it serves as an example of a powerful novel "bootstrapping" technique by which one can generate compiler generators as well as compilers by considering a compiler generator to be, in a sense which is made mathematically precise, a special kind of compiler. The core of the CERES system is a two-page-long machine generated compiler generator. The approach uses ideas from denotational semantics and many-sorted algebra and connects them with novel ideas about how to treat programs and language definitions as data. Considerable effort has been made to present the necessary theory in a manner suitable for readers who have some practical experience but not necessarily a theoretical background in semantics.
Content:
Front Matter....Pages I-XI
Introduction....Pages 1-4
Report on the Compiler Generator CERES....Pages 5-65
Compiler Generation, Composability and Self-composability....Pages 67-77
Discussion of Technical Aspects of Compiler Generation....Pages 79-106
On Semantics, Compiler Generation, and Hacking....Pages 107-111
Back Matter....Pages 113-147


This monograph is concerned with the problem of getting computers to transform formal language definitions into compilers. Its purpose is to demonstrate how certain simple theoretical ideas can be used to generate compilers and even compiler generators. As the title suggests, a realistic assessment of the relationship between the complexity of realistic compilation and the relative simplicity studied in theoretical work is attempted. The monograph contains an overview of existing compiler generators. The CERES '83 compiler generator, developed by Neil D. Jones and the author, is described in detail. The CERES system is based on the idea of composing language definitions and it serves as an example of a powerful novel "bootstrapping" technique by which one can generate compiler generators as well as compilers by considering a compiler generator to be, in a sense which is made mathematically precise, a special kind of compiler. The core of the CERES system is a two-page-long machine generated compiler generator. The approach uses ideas from denotational semantics and many-sorted algebra and connects them with novel ideas about how to treat programs and language definitions as data. Considerable effort has been made to present the necessary theory in a manner suitable for readers who have some practical experience but not necessarily a theoretical background in semantics.
Content:
Front Matter....Pages I-XI
Introduction....Pages 1-4
Report on the Compiler Generator CERES....Pages 5-65
Compiler Generation, Composability and Self-composability....Pages 67-77
Discussion of Technical Aspects of Compiler Generation....Pages 79-106
On Semantics, Compiler Generation, and Hacking....Pages 107-111
Back Matter....Pages 113-147
....
Download the book Compiler Generators: What They Can Do, What They Might Do, and What They Will Probably Never Do for free or read online
Read Download
Continue reading on any device:
QR code
Last viewed books
Related books
Comments (0)
reload, if the code cannot be seen