Authors: Mauricio Verano Merino, Tom Beckmann, Tijs van der Storm, Robert Hirschfeld, and Jurgen Vinju

Venue: ACM SIGPLAN International Conference on Software Language Engineering (SLE)

Awards 🏆: Distinguished Artifact Award

DOI | Preprint

Abstract

Block-based programming environments allow users to program by interactively arranging visual jigsaw-like program elements. They have shown to be helpful in several domains, but often require experienced developers for their creation. Previous research investigated the use of language frameworks to generate block-based editors based on grammars, but often the results provided too many, unnecessary kinds of blocks, leading to verbose and less concise environments and also programs. To reduce the number of interactions, we propose the use of a pipeline of transformations to simplify the original grammar, yielding a reduction of the number of (useful) kinds of blocks available in the resulting editors. We show that, up to a certain complexity, our generated block-based editors are significantly improved with respects to a set of observed aesthetic criteria. As such, analyzing and simplifying grammars before generating block-based editors allows us to derive more compact and potentially more usable block-based editors, making reuse of existing grammars through automatic generation feasible.