7 documents found, page 1 of 1

Sort by Issue Date

pyZtrategic: a zipper-based embedding of strategies and attribute grammars in P...

Rodrigues, Emanuel; Macedo, José Nuno Castro; Viera, Marcos; Saraiva, João

This paper presents pyZtrategic: a library that embeds strategic term rewriting and attribute grammars in the Python programming language. Strategic term rewriting and attribute grammars are two powerful programming techniques widely used in language engineering: The former relies on strategies to apply term rewrite rules in defining large-scale language transformations, while the latter is suitable to express ...


Zipper-based embedding of strategic attribute grammars

Macedo, José Nuno; Rodrigues, Emanuel; Viera, Marcos; Saraiva, João

Strategic term re-writing and attribute grammars are two powerful programming techniques widely used in language engineering. The former relies on strategies to apply term re-write rules in defining large-scale language transformations, while the latter is suitable to express context-dependent language processing algorithms. These two techniques can be expressed and combined via a powerful navigation abstractio...


Tabulation with Zippers

Viera, Marcos; Pardo, Alberto; Saraiva, João

Tabulation is a well-known technique for improving the efficiency of recursive functions with redundant function calls. A key point in the application of this technique is to identify a suitable representation for the table. In this paper, we propose the use of zippers as tables in the tabulation process. Our approach relies on a generic function zipWithZipper, that makes strong use of lazy evaluation to traver...


Efficient embedding of strategic attribute grammars via memoization

Macedo, José Nuno Castro; Rodrigues, Emanuel; Viera, Marcos; Saraiva, João

Strategic term re-writing and attribute grammars are two powerful programming techniques widely used in language engineering. The former relies on strategies to apply term rewrite rules in defining large-scale language transformations, while the latter is suitable to express context-dependent language processing algorithms. These two techniques can be expressed and combined via a powerful navigation abstraction...


Zipping strategies and attribute grammars

Macedo, José Nuno; Viera, Marcos; Saraiva, João

Strategic term rewriting and attribute grammars are two powerful programming techniques widely used in language engineering. The former relies on strategies (recursion schemes) to apply term rewrite rules in defining transformations, while the latter is suitable for expressing context-dependent language processing algorithms. Each of these techniques, however, is usually implemented by its own powerful and larg...


Memoized zipper-based attribute grammars and their higher order extension

Fernandes, João Paulo; Martins, Pedro; Pardo, Alberto; Saraiva, João; Viera, Marcos

Attribute grammars are a powerfull, well-known formalism to implement and reason about programs which, by design, are conveniently modular. In this work we focus on a state of the art zipper-based embedding of classic attribute grammars and higher-order attribute grammars. We improve their execution performance through controlling attribute (re)evaluation by means of memoization techniques. We present the resul...


Memoized zipper-based attribute grammars

Fernandes, João Paulo Sousa Ferreira; Martins, Pedro Miguel Ribeiro; Pardo, Alberto; Saraiva, João; Viera, Marcos

Attribute Grammars are a powerfull, well-known formalism to implement and reason about programs which, by design, are conveniently modular.In this work we focus on a state of the art Zipper-based embedding of Attribute Grammars and further improve its performance through controlling attribute (re)evaluation by using memoization techniques. We present the results of our optimization by comparing their impact in ...


7 Results

Queried text

Refine Results

Author











Date






Document Type



Access rights


Resource


Subject