Structured program generation techniques

5Citations
Citations of this article
23Readers
Mendeley users who have this article in their library.
Get full text

Abstract

So, you can write a program that generates other programs. Sorry, … not impressed. You want to impress me? Make sure your program-generating program only produces well-formed programs. What is “well-formed”, you ask? Well, let’s start with “it parses”. Then let’s get to “… and type-checks”. You want to really impress me? Give me an expressive language for program generators in which any program you write will only generate well-formed programs. In this briefing, we will sample the state-of-the-art in program generation relative to the above important goal. If we want to establish program generation as a general-purpose, disciplined methodology, instead of an ad hoc hack, we should be able to check the generator once and immediately validate the well-formedness of anything it might generate. This is a modular safety property for meta-programs, much akin to static typing for regular programs. Some of the emphasis will be on our own work on “class morphing” (or just “morphing”): the statically-safe adaptation of the contents of a class, depending on other classes supplied as parameters. Along the way, lots of other techniques will be discussed and contrasted, from different template facilities, to syntactically-safe program generation, to program staging techniques.

Cite

CITATION STYLE

APA

Smaragdakis, Y., Biboudis, A., & Fourtounis, G. (2017). Structured program generation techniques. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10223 LNCS, pp. 154–178). Springer Verlag. https://doi.org/10.1007/978-3-319-60074-1_7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free