skip to main content
10.1145/1111542.1111558acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article

Stratego/XT 0.16: components for transformation systems

Published:09 January 2006Publication History

ABSTRACT

Stratego/XT is a language and toolset for program transformation. The Stratego language provides rewrite rules for expressing basic transformations, programmable rewriting strategies for controlling the application of rules, concrete syntax for expressing the patterns of rules in the syntax of the object language, and dynamic rewrite rules for expressing context-sensitive transformations, thus supporting the development of transformation components at a high level of abstraction. The XT toolset offers a collection of flexible, reusable transformation components, as well as declarative languages for deriving new components. Complete program transformation systems are composed from these components. In this paper we give an overview of Stratego/XT 0.16.

References

  1. O. S. Bagge, K. T. Kalleberg, M. Haveraaen, and E. Visser. Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs. In D. Binkley and P. Tonella, editors, 3rd IEEE Itl Workshop on Source Code Analysis and Manipulation (SCAM'03), pages 65--74, Amsterdam, The Netherlands, Sep 2003. IEEE Comp. Soc. Press.]]Google ScholarGoogle Scholar
  2. M. G. J. van den Brand, H. de Jong, P. Klint, and P. Olivier. Efficient annotated terms. Software, Practice & Experience, 30(3):259--291, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Bravenboer, R. de Groot, and E. Visser. Metaborg in action: Examples of domain-specific language embedding and assimilation using. Stratego/XT. In Proceedings of the Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE'05), Braga, Portugal, July 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Bravenboer, A. van Dam, K. Olmos, and E. Visser. Program transformation with scoped dynamic rewrite rules. Fundamenta Informaticae, 69:1--56, 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Bravenboer, R. Vermaas, J. Vinju, and E. Visser. Generalized type-based disambiguation of meta programs with concrete object syntax. In R. Glück and M. Lowry, editors, Proc. of Fourth Itl Conference on Generative Programming and Component Engineering (GPCE'05), volume 3676 of LNCS, pages 157--172, Tallin, Estonia, Sep 2005. Springer.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Bravenboer and E. Visser. Rewriting strategies for instruction selection. In S. Tison, editor, Rewriting Techniques and Applications (RTA'02), volume 2378 of LNCS, pages 237--251, Copenhagen, Denmark, July 2002. Springer.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Bravenboer and E. Visser. Concrete syntax for objects. Domain-specific language embedding and assimilation without restrictions. In D. C. Schmidt, editor, Proc. the 19th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'04), pages 365--383, Vancouver, Canada, October 2004. ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. de Jonge. A pretty-printer for every occasion. In I. Ferguson, J. Gray, and L. Scott, editors, Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools (CoSET2000). University of Wollongong, Australia, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Fischer and E. Visser. Retrofitting the AutoBayes program synthesis system with concrete object syntax. In C. Lengauer et al., editors, Domain-Specific Program Generation, volume 3016 of LNCS, pages 239--253. Spinger-Verlag, 2004.]]Google ScholarGoogle Scholar
  10. M. de Jonge, E. Visser, and J. Visser. XT: A bundle of program transformation tools. In M. G. J. van den Brand and D. Perigot, editors, Workshop on Language Descriptions, Tools and Applications (LDTA'01), volume 44 of ENTCS. Elsevier, April 2001.]]Google ScholarGoogle Scholar
  11. K. T, Kalleberg, www.spoofax.org.]]Google ScholarGoogle Scholar
  12. K. T. Kalleberg and E. Visser. Combining aspect-oriented and strategic programming. In N. M.-O. Horatiu Cirstea, editor, Proceedings of the 6th International Workshop of Rule-Based Programming (RULE), ENTCS, Nara, Japan, April 2005. Elsevier.]]Google ScholarGoogle Scholar
  13. K. Olmos and E. Visser. Turning dynamic typing into static typing by program specialization. In D. Binkley and P. Tonella, editors, Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'03), pages 141--150, Amsterdam, The Netherlands, September 2003. IEEE Computer Society Press.]]Google ScholarGoogle ScholarCross RefCross Ref
  14. K. Olmos and E. Visser. Composing source-to-source data-flow transformations with rewriting strategies and dependent dynamic rewrite rules. In R. Bodik, editor, 14th International Conference on Compiler Construction (CC'05), volume 3443 of LNCS, pages 204--220. Springer-Verlag, April 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Visser. Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam, September 1997.]]Google ScholarGoogle Scholar
  16. E. Visser. Stratego: A language for program transformation based on rewriting strategies. System description of Stratego 0.5. In A. Middeldorp, editor, Rewriting Techniques and Applications (RTA'01), volume 2051 of LNCS, pages 357--361. Springer, May 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. Visser. Meta-programming with concrete object syntax. In D. Batory, C. Consel, and W. Taha, editors, Generative Programming and Component Engineering (GPCE'02), volume 2487 of LNCS, pages 299--315, Pittsburgh, PA, USA, October 2002. Springer-Verlag.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. E. Visser. Program transformation with Stratego/XT: Rules, strategies, tools, and systems in StrategoXT-0.9. In C. Lengauer et al., editors, Domain-Specific Program Generation, volume 3016 of LNCS, pages 216--238. Spinger-Verlag, June 2004.]]Google ScholarGoogle Scholar
  19. E. Visser. A survey of strategies in rule-based program transformation systems, J. Sym. Comp., 40(1):831--873, 2005. Special issue on Reduction Strategies in Rewriting and Programming.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. E. Visser, Z.-e.-A. Benaissa, and A. Tolmach. Building program optimizers with rewriting strategies. In Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP'98), pages 13--26. ACM Press, September 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. E. Visser et al. www.stratego-language.org.]]Google ScholarGoogle Scholar
  22. D. G. Waddington and B. Yao. High fidelity C++ code transformation. In Proceedings of the 5th workshop on Language Descriptions, Tools and Applications, ENTCS. Elsevier, April 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Stratego/XT 0.16: components for transformation systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        PEPM '06: Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
        January 2006
        176 pages
        ISBN:1595931961
        DOI:10.1145/1111542

        Copyright © 2006 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 9 January 2006

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate66of120submissions,55%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader