Syntactic Language Extension via an Algebra of Languages and Transformations

  • Authors:
  • Jacob Andersen;Claus Brabrand

  • Affiliations:
  • Department of Computer Science, Aarhus University/ Aarhus, Denmark;IT University of Copenhagen, Copenhagen, Denmark

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose an algebra of languages and transformations as a means for extending languages syntactically. The algebra provides a layer of high-level abstractions built on top of languages (captured by context-free grammars) and transformations (captured by constructive catamorphisms). The algebra is self-contained in that any term of the algebra specifying a transformation can be reduced to a catamorphism, before the transformation is run. Thus, the algebra comes ''for free'' without sacrificing the strong safety and efficiency properties of constructive catamorphisms. The entire algebra as presented in the paper is implemented as the Banana Algebra Tool which may be used to syntactically extend languages in an incremental and modular fashion via algebraic composition of previously defined languages and transformations. We demonstrate and evaluate the tool via several kinds of extensions.