Abstract
This paper shows that bootstrapping of compiler generators from program specializers is a viable alternative to the third Futamura projection. To practically validate the technique, a novel partial evaluation-based compiler generator was designed and implemented for a recursive flowchart language. Three-step bootstrapping was found to be faster and to produce the same compiler generator that Gomard and Jones produced two decades ago by double self-application. Compiler-generator bootstrapping has distinct properties that are not present in the classic three Futamura projections, such as the ability to turn a specializer into a compiler generator in one step without self-application. Up to now, the approach of hand-writing compiler generators has only been used to avoid difficulties when specializing strongly-typed languages, not as a first step towards compiler-generator bootstrapping.
Original language | English |
---|---|
Title of host publication | Perspectives of System Informatics : 8th International Andrei Ershov Memorial Conference, PSI 2011, Novosibirsk, Russia, June 27-July 1, 2011, Revised Selected Papers |
Editors | Edmund Clarke, Irina Virbitskaite, Andrei Voronkov |
Number of pages | 17 |
Publisher | Springer |
Publication date | 2012 |
Pages | 125-141 |
ISBN (Print) | 978-3-642-29708-3 |
ISBN (Electronic) | 978-3-642-29709-0 |
DOIs | |
Publication status | Published - 2012 |
Event | 8th International Andrei Ershov Memorial Conference on Perspectives of Systems Informatics - Novosibirsk, Russian Federation Duration: 27 Jun 2011 → 1 Jul 2011 Conference number: 8 |
Conference
Conference | 8th International Andrei Ershov Memorial Conference on Perspectives of Systems Informatics |
---|---|
Number | 8 |
Country/Territory | Russian Federation |
City | Novosibirsk |
Period | 27/06/2011 → 01/07/2011 |
Series | Lecture notes in computer science |
---|---|
Volume | 7162 |
ISSN | 0302-9743 |