Apologies for broadcasting my message to Eelco - I meant the message only for him! I must have hit the wrong button, sorry.
Best for the season to everyone!
Jim
On Dec 15, 2004, at 00:19, Jim Cordy wrote:
Hi Eelco, The reference you've used for TXL in the survey is not an accessible document, and being an old reference manual explains nothing about using TXL to do anything.
I suggest in future you use one of the many published papers that are intended to explain the language and system instead. Probably the best of these as a reference in a survey is the LDTA keynote last year, or its upcoming ENTCS version.
You can find all of them on my personal page http://www.cs.queensu.ca/~cordy/papers.html or on the TXL website http://www.txl.ca/ndocs.html#Biblio
JIm
On Dec 14, 2004, at 22:15, Eelco Visser wrote:
At the STS workshop we had quite a discussion about dynamic rules after a presentation which I had not intended to be about that subject. If you want to find out all about the idea, I recommend the following two recent papers, which cover the design and illustrate it with many examples. The first paper gives a complete overview of dynamic rules, including scope labels, extended dynamic rules, and union and intersection of rulesets. The second paper extends these basic dynamic rules with `dependent' dynamic rules.
You can find preprints on my publication page
http://www.cs.uu.nl/groups/ST/Visser/PublicationsByYear
or at the Stratego site http://www.stratego-language.org Comments or even discussion are welcome of course.
cheers,
-- Eelco
-- Martin Bravenboer, Arthur van Dam, Karina Olmos and Eelco Visser. Program Transformation with Scoped Dynamic Rewrite Rules. Special issue on Program Transformation of Fundamenta Informaticae (Conditionally accepted November 2004).
--
Abstract
The applicability of term rewriting to program transformation is limited by the lack of control over rule application and by the context-free nature of rewrite rules. The first problem is addressed by languages supporting user-definable rewriting strategies. The second problem is addressed by the extension of rewriting strategies with scoped dynamic rewrite rules. Dynamic rules are defined at run-time and can access variables available from their definition context. Rules defined within a rule scope are automatically retracted at the end of that scope. In this paper we explore the design space of dynamic rules, their application to transformation problems, and their implementation. The technique is formally defined by extending the operational semantics underlying the program transformation language Stratego, and illustrated by means of several program tranformations in Stratego, including constant propagation, bound variable renaming, dead code elimination, function inlining, and function specialization.
-- Karina Olmos and Eelco Visser. Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules. In R. Bodik, 14th International Conference on Compiler Construction (CC'05). Edinburgh, April 2005. (Accepted for publication)
--
Abstract
Data-flow transformations used in optimizing compilers are also useful in other programming tools such as code generators, aspect weavers, domain- and application-specific optimizers, and refactoring tools. These applications require source-to-source transformations rather than transformations on a low-level intermediate representation.
In this paper we describe the composition of source-to-source data-flow transformations in the program transformation language Stratego. The language supports the high-level specification of transformations by means of rewriting strategy combinators that allow a natural modeling of data- and control-flow without committing to a specific source language. Data-flow facts are propagated using dynamic rewriting rules. In particular, we introduce the concept of dependent dynamic rewrite rules, for modeling the dependencies of data-flow facts on program entitities such as variables. The approach supports the combination of analysis and transformation, the combination of multiple transformations, the combination with other types of transformations, and the correct treatment of variable binding constructs and lexical scope to avoid variable capture.
--
-- Eelco Visser Institute of Information and Computing Sciences mail:visser@cs.uu.nl Universiteit Utrecht or:visser@acm.org P.O. Box 80089, 3508 TB Utrecht, The Netherlands http://www.cs.uu.nl/~visser/ Phone: +31-30-253 4592 Fax: +31-30-251 3791
--
sts mailing list sts@lists.urchin.earth.li http://urchin.earth.li/mailman/listinfo/sts
sts mailing list sts@lists.urchin.earth.li http://urchin.earth.li/mailman/listinfo/sts