{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,19]],"date-time":"2026-03-19T12:09:35Z","timestamp":1773922175057,"version":"3.50.1"},"publisher-location":"Berlin, Heidelberg","reference-count":43,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540221197","type":"print"},{"value":"9783540259350","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2004]]},"DOI":"10.1007\/978-3-540-25935-0_13","type":"book-chapter","created":{"date-parts":[[2010,7,22]],"date-time":"2010-07-22T15:46:50Z","timestamp":1279813610000},"page":"216-238","source":"Crossref","is-referenced-by-count":111,"title":["Program Transformation with Stratego\/XT"],"prefix":"10.1007","author":[{"given":"Eelco","family":"Visser","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"13_CR1","unstructured":"http:\/\/www.program-transformation.org"},{"key":"13_CR2","doi-asserted-by":"publisher","first-page":"65","DOI":"10.1109\/SCAM.2003.1238032","volume-title":"Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003)","author":"O.S. Bagge","year":"2003","unstructured":"Bagge, O.S., Kalleberg, K.T., Haveraaen, M., Visser, E.: Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs. In: Binkley, D., Tonella, P. (eds.) Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), Amsterdam, September 2003, pp. 65\u201374. IEEE Computer Society Press, Los Alamitos (2003)"},{"key":"13_CR3","first-page":"143","volume-title":"Proceedings Fifth International Conference on Software Reuse","author":"D. Batory","year":"1998","unstructured":"Batory, D., Lofaso, B., Smaragdakis, Y.: JTS: tools for implementing domain-specific languages. In: Proceedings Fifth International Conference on Software Reuse, Victoria, BC, Canada, 2-5, 1998, pp. 143\u2013153. IEEE, Los Alamitos (1998)"},{"key":"13_CR4","unstructured":"Borovansk\u00fd, P., Cirstea, H., Dubois, H., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C., Vittek, M.: ELAN: User Manual. Loria, Nancy, France, v3.4 edition, January 27 (2000)"},{"key":"13_CR5","first-page":"361","volume-title":"Software Reusability","author":"J.M. Boyle","year":"1989","unstructured":"Boyle, J.M.: Abstract programming and program transformation\u2014An approach to reusing programs. In: Biggerstaff, T.J., Perlis, A.J. (eds.) Software Reusability, vol.\u00a01, pp. 361\u2013413. ACM Press, New York (1989)"},{"key":"13_CR6","doi-asserted-by":"crossref","first-page":"353","DOI":"10.1007\/978-1-4612-1986-6_17","volume-title":"Modern Software Tools in Scientific Computing","author":"J.M. Boyle","year":"1997","unstructured":"Boyle, J.M., Harmer, T.J., Winter, V.L.: The TAMPR program transforming system: Simplifying the development of numerical software. In: Arge, E., Bruaset, A.M., Langtangen, H.P. (eds.) Modern Software Tools in Scientific Computing, pp. 353\u2013372. Birkh\u00e4user, Basel (1997)"},{"key":"13_CR7","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1002\/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y","volume":"30","author":"M.G.J. Brand van den","year":"2000","unstructured":"van den Brand, M.G.J., de Jong, H.A., Klint, P., Olivier, P.A.: Efficient annotated terms. Software\u2014Practice & Experience\u00a030, 259\u2013291 (2000)","journal-title":"Software\u2014Practice & Experience"},{"issue":"2","key":"13_CR8","doi-asserted-by":"publisher","first-page":"152","DOI":"10.1145\/941566.941568","volume":"12","author":"M.G.J. Brand van den","year":"2003","unstructured":"van den Brand, M.G.J., Klint, P., Vinju, J.: Term rewriting with traversal functions. ACM Transactions on Software Engineering and Methodology\u00a012(2), 152\u2013190 (2003)","journal-title":"ACM Transactions on Software Engineering and Methodology"},{"key":"13_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1007\/3-540-45610-4_17","volume-title":"Rewriting Techniques and Applications","author":"M. Bravenboer","year":"2002","unstructured":"Bravenboer, M., Visser, E.: Rewriting strategies for instruction selection. In: Tison, S. (ed.) RTA 2002. LNCS, vol.\u00a02378, pp. 237\u2013251. Springer, Heidelberg (2002)"},{"issue":"2","key":"13_CR10","doi-asserted-by":"publisher","first-page":"187","DOI":"10.1016\/S0304-3975(01)00359-0","volume":"285","author":"M. Clavel","year":"2002","unstructured":"Clavel, M., Dur\u00e1n, F., Eker, S., Lincoln, P., Mart\u00ed-Oliet, N., Meseguer, J., Quesada, J.F.: Maude: specification and programming in rewriting logic. Theoretical Computer Science\u00a0285(2), 187\u2013243 (2002)","journal-title":"Theoretical Computer Science"},{"key":"13_CR11","series-title":"Electronic Notes in Theoretical Computer Science","first-page":"65","volume-title":"Proceedings of the First International Workshop on Rewriting Logic and its Applications","author":"M. Clavel","year":"1996","unstructured":"Clavel, M., Eker, S., Lincoln, P., Meseguer, J.: Principles of Maude. In: Meseguer, J. (ed.) Proceedings of the First International Workshop on Rewriting Logic and its Applications, Asilomar, Pacific Grove, CA, September 1996. Electronic Notes in Theoretical Computer Science, vol.\u00a04, pp. 65\u201389. Elsevier, Amsterdam (1996)"},{"key":"13_CR12","unstructured":"Cordy, J.R., Carmichael, I.H., Halliday, R.: The TXL Programming Language, Version 8 (April 1995)"},{"key":"13_CR13","volume-title":"Generative Programming","author":"K. Czarnecki","year":"2000","unstructured":"Czarnecki, K., Eisenecker, U.W.: Generative Programming. Addison-Wesley, Reading (2000)"},{"key":"13_CR14","volume-title":"Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools (CoSET 2000)","author":"M. Jonge de","year":"2000","unstructured":"de Jonge, M.: A pretty-printer for every occasion. In: Ferguson, I., Gray, J., Scott, L. (eds.) Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools (CoSET 2000). University of Wollongong, Australia (2000)"},{"key":"13_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1007\/3-540-46020-9_2","volume-title":"Software Reuse: Methods, Techniques, and Tools","author":"M. Jonge de","year":"2002","unstructured":"de Jonge, M.: Source Tree Composition. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol.\u00a02319, pp. 17\u201332. Springer, Heidelberg (2002)"},{"key":"13_CR16","doi-asserted-by":"publisher","first-page":"240","DOI":"10.1109\/ICSM.2001.972737","volume-title":"Proceedings: International Conference on Software Maintenance (ICSM 2001)","author":"M. Jonge de","year":"2001","unstructured":"de Jonge, M., Monajemi, R.: Cost-effective maintenance tools for proprietary languages. In: Proceedings: International Conference on Software Maintenance (ICSM 2001), November 2001, pp. 240\u2013249. IEEE Computer Society Press, Los Alamitos (2001)"},{"key":"13_CR17","series-title":"Electronic Notes in Theoretical Computer Science","volume-title":"Workshop on Language Descriptions, Tools and Applications (LDTA 2001)","author":"M. Jonge de","year":"2001","unstructured":"de Jonge, M., Visser, E., Visser, J.: XT: A bundle of program transformation tools. In: van den Brand, M.G.J., Perigot, D. (eds.) Workshop on Language Descriptions, Tools and Applications (LDTA 2001), April 2001. Electronic Notes in Theoretical Computer Science, vol.\u00a044. Elsevier Science Publishers, Amsterdam (2001)"},{"key":"13_CR18","series-title":"AMAST Series in Computing","volume-title":"Language Prototyping. An Algebraic Specification Approach","year":"1996","unstructured":"van Deursen, A., Heering, J., Klint, P. (eds.): Language Prototyping. An Algebraic Specification Approach, September 1996. AMAST Series in Computing, vol.\u00a05. World Scientific, Singapore (1996)"},{"key":"13_CR19","series-title":"Electronic Notes in Theoretical Computer Science","volume-title":"Workshop on Language Descriptions, Tools and Applications (LDTA 2002)","author":"E. Dolstra","year":"2002","unstructured":"Dolstra, E., Visser, E.: Building interpreters with rewriting strategies. In: van den Brand, M.G.J., L\u00e4mmel, R. (eds.) Workshop on Language Descriptions, Tools and Applications (LDTA 2002), Grenoble, France, April 2002. Electronic Notes in Theoretical Computer Science, vol.\u00a065\/3. Elsevier Science Publishers, Amsterdam (2002)"},{"key":"13_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/978-3-540-25935-0_14","volume-title":"Domain-Specific Program Generation","author":"B. Fischer","year":"2004","unstructured":"Fischer, B., Visser, E.: Retrofitting the AutoBayes program synthesis system with concrete syntax. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol.\u00a03016, pp. 239\u2013253. Springer, Heidelberg (2004)"},{"key":"13_CR21","volume-title":"Refactoring: Improving the Design of Existing Programs","author":"M. Fowler","year":"1999","unstructured":"Fowler, M.: Refactoring: Improving the Design of Existing Programs. Addison-Wesley, Reading (1999)"},{"issue":"11","key":"13_CR22","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1145\/71605.71607","volume":"24","author":"J. Heering","year":"1989","unstructured":"Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The syntax definition formalism SDF \u2013 reference manual. SIGPLAN Notices\u00a024(11), 43\u201375 (1989)","journal-title":"SIGPLAN Notices"},{"issue":"1-4","key":"13_CR23","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1023\/A:1018956702672","volume":"29","author":"P. Johann","year":"2000","unstructured":"Johann, P., Visser, E.: Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence\u00a029(1-4), 1\u201334 (2000)","journal-title":"Annals of Mathematics and Artificial Intelligence"},{"key":"13_CR24","series-title":"Electronic Notes in Theoretical Computer Science","volume-title":"Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001)","author":"P. Johann","year":"2001","unstructured":"Johann, P., Visser, E.: Fusing logic and control with local transformations: An example optimization. In: Gramlich, B., Lucas, S. (eds.) Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001), Utrecht, The Netherlands, May 2001. Electronic Notes in Theoretical Computer Science, vol.\u00a057. Elsevier Science Publishers, Amsterdam (2001)"},{"key":"13_CR25","unstructured":"L\u00e4mmel, R., Visser, E., Visser, J.: The essence of strategic programming (Draft) (October 2002)"},{"key":"13_CR26","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1145\/643603.643621","volume-title":"Proceedings of Aspect-Oriented Software Development (AOSD 2003)","author":"R. L\u00e4mmel","year":"2003","unstructured":"L\u00e4mmel, R., Visser, E., Visser, J.: Strategic Programming Meets Adaptive Programming. In: Proceedings of Aspect-Oriented Software Development (AOSD 2003), Boston, USA, March 2003, pp. 168\u2013177. ACM Press, New York (2003)"},{"key":"13_CR27","volume-title":"2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997), Electronic Workshops in Computing","author":"B. Luttik","year":"1997","unstructured":"Luttik, B., Visser, E.: Specification of rewriting strategies. In: Sellink, M.P.A. (ed.) 2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997), Electronic Workshops in Computing, Berlin, November 1997. Springer, Heidelberg (1997)"},{"key":"13_CR28","volume-title":"Advanced Compiler Design and Implementation","author":"S.S. Muchnick","year":"1997","unstructured":"Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, San Francisco (1997)"},{"key":"13_CR29","series-title":"Electronic Notes in Theoretical Computer Science","first-page":"20","volume-title":"B. Gramlich and S. Lucas, editors, Workshop on Reduction Strategies (WRS 2002)","author":"K. Olmos","year":"2002","unstructured":"Olmos, K., Visser, E.: Strategies for source-to-source constant propagation. In: B. Gramlich and S. Lucas, editors, Workshop on Reduction Strategies (WRS 2002), Copenhagen, Denmark, July 2002. Electronic Notes in Theoretical Computer Science, vol.\u00a070, p. 20. Elsevier Science Publishers, Amsterdam (2002)"},{"issue":"1-3","key":"13_CR30","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/S0167-6423(97)00029-4","volume":"32","author":"S.L. Peyton Jones","year":"1998","unstructured":"Peyton Jones, S.L., Santos, A.L.M.: A transformation-based optimiser for Haskell. Science. of Computer Programming\u00a032(1-3), 3\u201347 (1998)","journal-title":"of Computer Programming"},{"key":"13_CR31","unstructured":"Rodger, R.J.: Jostraca: a template engine for generative programming. In: European Conference for Object-Oriented Programming (2002)"},{"key":"13_CR32","unstructured":"Swart, L.: Partial evaluation using rewrite rules. A specification of a partial evaluator for Similix in Stratego. Master\u2019s thesis, Utrecht University, Utrecht, The Netherlands (August 2002)"},{"key":"13_CR33","volume-title":"Term Rewriting Systems","author":"Terese","year":"2003","unstructured":"Terese: Term Rewriting Systems, March 2003. Cambridge University Press, Cambridge (2003)"},{"key":"13_CR34","unstructured":"Visser, E.: Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam (September 1997)"},{"key":"13_CR35","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1007\/3-540-48685-2_3","volume-title":"Rewriting Techniques and Applications","author":"E. Visser","year":"1999","unstructured":"Visser, E.: Strategic pattern matching. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol.\u00a01631, pp. 30\u201344. Springer, Heidelberg (1999)"},{"key":"13_CR36","unstructured":"Visser, E.: Language independent traversals for program transformation. In: Jeuring, J. (ed.) Workshop on Generic Programming (WGP 2000), Ponte de Lima, Portugal, July 2000, Technical Report UU-CS-2000-19, Department of Information and Computing Sciences, Universiteit Utrecht (2000)"},{"key":"13_CR37","series-title":"Electronic Notes in Theoretical Computer Science","volume-title":"Rule Based Programming (RULE 2001)","author":"E. Visser","year":"2001","unstructured":"Visser, E.: Scoped dynamic rewrite rules. In: van den Brand, M., Verma, R. (eds.) Rule Based Programming (RULE 2001), September 2001. Electronic Notes in Theoretical Computer Science, vol.\u00a059\/4. Elsevier Science Publishers, Amsterdam (2001)"},{"key":"13_CR38","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"357","DOI":"10.1007\/3-540-45127-7_27","volume-title":"Rewriting Techniques and Applications","author":"E. Visser","year":"2001","unstructured":"Visser, E.: Stratego: A language for program transformation based on rewriting strategies. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol.\u00a02051, pp. 357\u2013361. Springer, Heidelberg (2001)"},{"key":"13_CR39","series-title":"Electronic Notes in Theoretical Computer Science","volume-title":"Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001)","author":"E. Visser","year":"2001","unstructured":"Visser, E.: A survey of rewriting strategies in program transformation systems. In: Gramlich, B., Lucas, S. (eds.) Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001), Utrecht, The Netherlands, May 2001. Electronic Notes in Theoretical Computer Science, vol.\u00a057. Elsevier Science Publishers, Amsterdam (2001)"},{"key":"13_CR40","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"299","DOI":"10.1007\/3-540-45821-2_19","volume-title":"Generative Programming and Component Engineering","author":"E. Visser","year":"2002","unstructured":"Visser, E.: Meta-programming with concrete object syntax. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol.\u00a02487, pp. 299\u2013315. Springer, Heidelberg (2002)"},{"key":"13_CR41","series-title":"Electronic Notes in Theoretical Computer Science","volume-title":"Second International Workshop on Rewriting Logic and its Applications (WRLA 1998)","author":"E. Visser","year":"1998","unstructured":"Visser, E., Benaissa, Z.-e.-A.: A core language for rewriting. In: Kirchner, C., Kirchner, H. (eds.) Second International Workshop on Rewriting Logic and its Applications (WRLA 1998), Pont-\u00e0- Mousson, France, September 1998. Electronic Notes in Theoretical Computer Science, vol.\u00a015. Elsevier Science Publishers, Amsterdam (1998)"},{"key":"13_CR42","doi-asserted-by":"publisher","first-page":"13","DOI":"10.1145\/289423.289425","volume-title":"Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP 1998)","author":"E. Visser","year":"1998","unstructured":"Visser, E., Benaissa, Z.-e.-A., Tolmach, A.: Building program optimizers with rewriting strategies. In: Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP 1998), September 1998, pp. 13\u201326. ACM Press, New York (1998)"},{"key":"13_CR43","unstructured":"http:\/\/www.stratego-language.org"}],"container-title":["Lecture Notes in Computer Science","Domain-Specific Program Generation"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-25935-0_13.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,18]],"date-time":"2020-11-18T23:58:43Z","timestamp":1605743923000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-25935-0_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004]]},"ISBN":["9783540221197","9783540259350"],"references-count":43,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-25935-0_13","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004]]}}}