Embedding Attribute Grammars using Functional Zippers

Attribute grammars are a suitable formalism to express complex software language analysis and manipulation algorithms, which rely on multiple traversals of the underlying syntax tree. Attribute Grammars have been extended with mechanisms such as references, higher order and circular attributes, which provide a powerful modular mechanism and allow the specification of complex computations. In this book we present an elegant, zipper-based embedding of attribute grammars and their extensions as first class citizens. Language specifications are defined as a set of independent, off-the-shelf components that can easily be composed into a powerful, executable language processor. We also present techniques to describe automatic bidirectional transformations. We define a method to define transformation specifications which, through automatic mechanisms, are inverted and expanded and generate attribute grammars that specify a bidirectional environment. We present practical examples that show the implementation of language specification and processing in our setting, such as a domain-specific language that has been deployed in a web portal for software analysis.

Weitere Produkte vom selben Autor

Mexikid Martín, Pedro

15,50 €*
Practicing Therapy as Social Construction McNamee, Sheila, Rasera, Emerson F., Martins, Pedro

43,80 €*
Building a data-driven organization Rasmus, Daniel W., Martins, Pedro, Cartaxeiro, Hugo

16,10 €*
La práctica de la terapia como construcción social McNamee, Sheila, Rasera, Emerson F, Martins, Pedro

25,50 €*