Domain-Specific Program Generation pp 239-253

Part of the Lecture Notes in Computer Science book series (LNCS, volume 3016)

Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax

  • Bernd Fischer
  • Eelco Visser

Abstract

AutoBayes is a fully automatic, schema-based program synthesis system for statistical data analysis applications. Its core component is a schema library, i.e., a collection of generic code templates with associated applicability constraints which are instantiated in a problem-specific way during synthesis. Currently, AutoBayes is implemented in Prolog; the schemas thus use abstract syntax (i.e., Prolog terms) to formulate the templates. However, the conceptual distance between this abstract representation and the concrete syntax of the generated programs makes the schemas hard to create and maintain.

In this paper we describe how AutoBayes is retrofitted with concrete syntax. We show how it is integrated into Prolog and describe how the seamless interaction of concrete syntax fragments with AutoBayes’s remaining “legacy” meta-programming kernel based on abstract syntax is achieved. We apply the approach to gradually migrate individual schemas without forcing a disruptive migration of the entire system to a different meta-programming language. First experiences show that a smooth migration can be achieved. Moreover, it can result in a considerable reduction of the code size and improved readability of xthe code. In particular, abstracting out fresh-variable generation and second-order term construction allows the formulation of larger continuous fragments.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Bernd Fischer
    • 1
  • Eelco Visser
    • 2
  1. 1.RIACS / NASA Ames Research CenterMoffett FieldUSA
  2. 2.Institute of Information and Computing SciencesUniversiteit UtrechtUtrechtThe Netherlands

Personalised recommendations