Bootstrapping compiler generators from partial evaluators

  • Authors:
  • Robert Glück

  • Affiliations:
  • DIKU, Dept. of Computer Science, University of Copenhagen, Denmark

  • Venue:
  • PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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.