@inproceedings{AA, author = {Mina Askari and Raihan Al-Ekram}, title = {Bringing Smalltalk Blocks to Java through Transformation Techniques}, booktitle = {}, optcrossref = {}, optkey = {}, optpages = {}, optyear = {}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, urlpdf = {http://swag.uwaterloo.ca/~rekram/publications/tpse2005--bringing-smalltalk-blocks-to-java-through-transformation.pdf}, project = {Stratego and XT}, urlbib = {AA.bib}, } @inproceedings{Avg07, author = {Pavel Avgustinov and Elnar Hajiyev and Neil Ongkingco and Oege de Moor and Damien Sereni and Julian Tibble and Mathieu Verbaere}, title = {Semantics of static pointcuts in {AspectJ}}, booktitle = {POPL'07}, optcrossref = {}, optkey = {}, optpages = {}, year = {2007}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, url = {http://progtools.comlab.ox.ac.uk/members/oege/publications/popl07abc}, project = {Stratego and XT}, urlbib = {Avg07.bib}, } @mastersthesis{Bag03.thesis, author = {Bagge, Otto Skrove}, title = {{CodeBoost}: {A} Framework for Transforming {C++} Programs}, year = {2003}, month = {March}, school = {University of Bergen}, address = {P.O.Box 7800, N-5020 Bergen, Norway}, project = {Stratego and XT and CodeBoost}, urlbib = {Bag03.thesis.bib}, } @techreport{BBKMV05, author = {Anya Helene Bagge and Martin Bravenboer and Karl Trygve Kalleberg and Koen Muilwijk and Eelco Visser}, title = {Adaptive Code Reuse by Aspects, Cloning and Renaming}, institution = {Department of Information and Computing Sciences, Universiteit Utrecht}, year = 2005, number = {UU-CS-2005-031}, address = {Utrecht, The Netherlands}, month = {August}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-031.pdf}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-031.html}, project = {Stratego and XT and TraCE and TFA}, category = {technical report}, pubcat = {technical report}, class = {Wet non}, urlbib = {BBKMV05.bib}, } @inproceedings{BBV07, author = {Eric Bouwers and Martin Bravenboer and Eelco Visser}, title = {Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking}, booktitle = {Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA'07)}, optcrossref = {}, optkey = {}, pages = {82--96}, year = {2007}, editor = {A. Sloane and A. Johnstone}, optvolume = {}, optnumber = {}, optseries = {}, address = {Braga, Portugal}, month = {March}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, urlpdf = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-004.pdf}, project = {Stratego and XT and TraCE and SDF}, urlbib = {BBV07.bib}, } @inproceedings{BDD, author = {Alexandre Borghi and Valentin David and Akim Demaille}, title = {C-Transformers: A Framework to Write C Program Transformations}, booktitle = {}, optcrossref = {}, optkey = {}, optpages = {}, optyear = {}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {BDD.bib}, } @inproceedings{BDHK06, author = {Anya Helene Bagge and Valentin David and Magne Haveraaen and Karl Trygve Kalleberg}, title = {Stayin' alert: moulding failure and exceptions to your needs}, booktitle = {GPCE'06}, optcrossref = {}, optkey = {}, optpages = {}, year = {2006}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {BDHK06.bib}, } @article{BDOV06, author = {Martin Bravenboer and Arthur van Dam and Karina Olmos and Eelco Visser}, title = {Program Transformation with Scoped Dynamic Rewrite Rules}, journal = {Fundamenta Informaticae}, year = 2006, volume = 69, number = {1--2}, pages = {123--178}, pubcat = {journal}, project = {Stratego and TraCE and TFA}, category = {key}, urlarticle = {http://iospress.metapress.com/openurl.asp?genre=article&issn=0169-2968&volume=69&issue=1&spage=123}, urljournal = {http://fi.mimuw.edu.pl/}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-005.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-005.pdf}, class = {Wet}, urlbib = {BDOV06.bib}, } @inproceedings{BDV07, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, title = {Preventing Injection Attacks with Syntax Embeddings. {A} Host and Guest Language Independent Approach}, booktitle = {Generative Programming and Component Engineering (GPCE'07)}, pages = {3-12}, year = 2007, editor = {J. Lawall}, address = {New York, NY, USA}, month = {October}, publisher = {ACM}, urldoi = {http://doi.acm.org/10.1145/1289971.1289975}, urlpdf = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-003.pdf}, project = {Stratego and XT and TraCE and SDF and TFA}, urlbib = {BDV07.bib}, } @article{BDV08, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, title = {Preventing Injection Attacks with Syntax Embeddings. {A} Host and Guest Language Independent Approach}, journal = {Science of Computer Programming}, year = {2008}, optkey = {}, optvolume = {}, optnumber = {}, optpages = {}, optmonth = {}, note = {Under construction; Invited for special issue of Generative Programming and Component Engineering (GPCE'07)}, optannote = {}, project = {Stratego and XT and TraCE and SDF and TFA}, urlbib = {BDV08.bib}, } @mastersthesis{Beu05, author = {Remko van Beusekom}, title = {A Vectorizer for Octave}, school = {Utrecht University}, year = 2005, address = {Utrecht, The Netherlands}, month = {February}, note = {INF/SRC-04-53}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Beu05.pdf}, project = {Stratego}, urlbib = {Beu05.bib}, } @inproceedings{BEYW05, author = {Marcio Buss and Stephen A. Edwards and Bin Yao and Daniel Waddington}, title = {Pointer Analysis for Source-to-Source Transformations}, booktitle = {Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05)}, optcrossref = {}, optkey = {}, optpages = {}, year = {2005}, editor = {Jens Krinke and Giulio Antoniol}, optvolume = {}, optnumber = {}, optseries = {}, address = {Budapest, Hungary}, optmonth = {}, optorganization = {}, publisher = {IEEE Computer Society Press}, optnote = {}, optannote = {}, project = {Proteus}, urlscam = {http://www.dcs.kcl.ac.uk/staff/mark/scam2005/}, urlproteus = {http://www.bell-labs.com/user/dwaddington/proteus/index.htm}, project = {Stratego and XT}, urlbib = {BEYW05.bib}, } @inproceedings{BGV05, author = {Martin Bravenboer and {Ren\'e} de Groot and Eelco Visser}, title = {{MetaBorg} in Action: {E}xamples of Domain-specific Language Embedding and Assimilation using {Stratego/XT}}, booktitle = {Proceedings of the Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE'05)}, volume = {4143}, series = {Lecture Notes in Computer Science}, editor = {R. L\"ammel and J. Saraiva}, publisher = {Springer Verlag}, pages = {297-311}, year = 2006, address = {Braga, Portugal}, project = {Stratego and XT and SDF and TraCE and TFA}, urlspringer = {http://dx.doi.org/10.1007/11877028_10}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2006/2006-009.pdf}, urlgttse = {http://www.di.uminho.pt/GTTSE2005}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2006-009.html}, pubcat = {proceedings}, category = {proceedings}, class = {Wet}, urlbib = {BGV05.bib}, } @inproceedings{BHV00, author = {Otto Skrove Bagge and Magne Haveraaen and Eelco Visser}, title = {A {C++} Transformation Framework (Extended Abstract)}, booktitle = {Proceedings of the Nordic Workshop on Programming Theory (NWPT'00)}, year = 2000, address = {Bergen, Norway}, month = {October}, pubcat = {workshop and position paper}, project = {Stratego and CodeBoost}, category = {}, urlbib = {BHV00.bib}, } @manual{bibtextools-latest, title = {The {Stratego/XT} {BibTeX} Tools. {T}ool documentation}, optkey = {}, author = {Eelco Visser}, organization = {Department of Information and Computing Sciences, Universiteit Utrecht}, address = {Utrecht, The Netherlands}, edition = {0.3pre}, month = {August}, year = {2006}, note = {(Draft)}, optannote = {}, urlwiki = {http://www.stratego-language.org/Stratego/BibtexTools}, urlrelease = {http://nix.cs.uu.nl/dist/stratego/bibtex-tools-unstable-latest}, urlpdf = {http://nix.cs.uu.nl/dist/stratego/bibtex-tools-unstable-latest/bibtex-tools.pdf}, project = {Stratego and XT}, category = {documentation and draft}, pubcat = {documentation and draft}, urlbib = {bibtextools-latest.bib}, } @inproceedings{BK06, author = {A. H. Bagge and K. T. Kalleberg}, title = {DSAL = library+notation: Program Transformation for Domain-Specific Aspect Languages}, booktitle = {DSAL'06}, optcrossref = {}, optkey = {}, optpages = {}, year = {2006}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {BK06.bib}, } @inproceedings{BKHV03, author = {Bagge, Otto Skrove and Karl Trygve Kalleberg and Haveraaen, Magne and Eelco Visser}, title = {Design of the {CodeBoost} Transformation System for Domain-Specific Optimisation of {C++} Programs}, booktitle = {Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'03)}, pages = {65--74}, year = 2003, editor = {D. Binkley and P. Tonella}, address = {Amsterdam, The Netherlands}, month = {September}, publisher = {IEEE Computer Society Press}, url = {http://www.stratego-language.org/Stratego/DesignOfTheCodeBoostTransformationSystem}, pubcat = {workshop}, project = {Stratego and XT and CodeBoost}, category = {refereed}, acceptance = {21/43 = 48\%}, urlbib = {BKHV03.bib}, } @inproceedings{BKVV06, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, title = {{Stratego/XT 0.16}. {C}omponents for Transformation Systems}, booktitle = {ACM SIGPLAN 2006 Workshop on Partial Evaluation and Program Manipulation (PEPM'06)}, optpages = {}, year = {2006}, address = {Charleston, South Carolina}, month = {January}, publisher = {ACM SIGPLAN}, category = {conference}, project = {Stratego and XT and TraCE}, class = {Wet}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-052.pdf}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-052.html}, urlacm = {http://doi.acm.org/10.1145/1111542.1111558}, acceptance = {17/29 = 58\%}, pubcat = {conference and tool description}, urlbib = {BKVV06.bib}, } @article{BKVV08, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, title = {{Stratego/XT 0.17}. {A} Language and Toolset for Program Transformation}, journal = {Science of Computer Programming}, year = {2008}, publisher = {Elsevier}, optkey = {}, optvolume = {}, optnumber = {}, optpages = {}, optmonth = {}, note = {(To appear)}, optannote = {}, project = {Stratego and XT and TraCE}, category = {journal}, pubcat = {journal}, urlbib = {BKVV08.bib}, } @mastersthesis{Bra03, author = {Martin Bravenboer}, title = {Connecting {XML} Processing and Term Rewriting with Tree Grammars}, school = {Utrecht University}, year = 2003, address = {Utrecht, The Netherlands}, month = {November}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Bra03.pdf}, project = {Stratego and XT and SDF}, urlbib = {Bra03.bib}, } @mastersthesis{Bru01, author = {Arne de Bruijn}, title = {Implementation of Inlining in {Stratego}}, school = {Utrecht University}, year = 2001, address = {Utrecht, The Netherlands}, month = {August}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/Bru01.pdf}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Bru01.ps.gz}, project = {Stratego}, urlbib = {Bru01.bib}, } @inproceedings{BSVV02, author = {{\sortunder{Brand}}van den Brand, Mark G. J. and Jeroen Scheerder and Jurgen Vinju and Eelco Visser}, title = {Disambiguation Filters for Scannerless Generalized {LR} Parsers}, booktitle = {Compiler Construction (CC'02)}, pages = {143--158}, year = 2002, editor = {N. Horspool}, volume = 2304, series = {Lecture Notes in Computer Science}, address = {Grenoble, France}, month = {April}, publisher = {Springer-Verlag}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.pdf}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.ps.gz}, pubcat = {conference}, project = {SDF}, category = {key and refereed}, acceptance = {18/44 = 40\%}, urlbib = {BSVV02.bib}, } @inproceedings{BTV06, author = {Martin Bravenboer and Eric Tanter and Eelco Visser}, title = {Declarative, Formal, and Extensible Syntax Definition for {AspectJ}. {A} Case for Scannerless Generalized-LR Parsing}, booktitle = {Proceedings of the 21th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'06)}, pages = {209--228}, year = 2006, editor = {William R. Cook}, address = {Portland, Oregon, USA}, month = {October}, publisher = {ACM Press}, urlacm = {http://doi.acm.org/10.1145/1167473.1167491}, opturlinfo = {}, opturlpdf = {http://www.cs.uu.nl/~visser/ftp/BV04.pdf}, optpubcat = {conference}, project = {Stratego and XT and SDF and TraCE and TFA}, category = {key and refereed}, acceptance = {26/156 and 16%}, urlbib = {BTV06.bib}, } @techreport{BV01, author = {Martin Bravenboer and Eelco Visser}, title = {Guiding Visitors: Separating Navigation from Computation}, institution = {Institute of Information and Computing Sciences, Utrecht University}, year = 2001, number = {UU-CS-2001-42}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/BV01.pdf}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2001-042.html}, pubcat = {techreport}, project = {Stratego}, category = {}, urlbib = {BV01.bib}, } @inproceedings{BV02, author = {Martin Bravenboer and Eelco Visser}, title = {Rewriting Strategies for Instruction Selection}, booktitle = {Rewriting Techniques and Applications (RTA'02)}, pages = {237-251}, year = 2002, editor = {S. Tison}, volume = 2378, series = {Lecture Notes in Computer Science}, address = {Copenhagen, Denmark}, month = {July}, publisher = {Springer-Verlag}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/BV02.pdf}, pubcat = {conference}, project = {Stratego}, category = {refereed}, acceptance = {20/49 = 40\%}, urlbib = {BV02.bib}, } @inproceedings{BV04, author = {Martin Bravenboer and Eelco Visser}, title = {Concrete Syntax for Objects. {D}omain-Specific Language Embedding and Assimilation without Restrictions}, booktitle = {Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'04)}, pages = {365--383}, year = 2004, editor = {Douglas C. Schmidt}, address = {Vancouver, Canada}, month = {October}, publisher = {ACM Press}, urlacm = {http://portal.acm.org/citation.cfm?id=1028976.1029007}, urlinfo = {http://www.cs.uu.nl/groups/ST/Visser/ConcreteSyntaxForObjects}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/BV04.pdf}, pubcat = {conference}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, category = {key and refereed}, acceptance = {27/173 and 16%}, urlbib = {BV04.bib}, } @inproceedings{BV04.sts, author = {Martin Bravenboer and Eelco Visser}, title = {Reusable and Adaptable Strategies for Generative Programming}, booktitle = {GPCE Software Transformation Systems Workshop (STSW'04)}, year = 2004, editor = {M. Haveraaen and others}, month = {October}, note = {Position paper}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/BV04-STS.pdf}, urlsts = {http://progam-transformation.org/Sts}, pubcat = {semi-refereed and position paper}, category = {semi-refereed}, address = {Vancouver, Canada}, project = {Stratego and XT and TraCE and TFA}, urlbib = {BV04.sts.bib}, } @inproceedings{BV07, author = {Martin Bravenboer and Eelco Visser}, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, booktitle = {4th International Workshop on Software Language Engineering (ATEM'07)}, optcrossref = {}, optkey = {}, pages = {100-116}, year = {2007}, opteditor = {}, publisher = {Johannes Gutenberg Universit\"at}, volume = {4/2007}, optnumber = {}, series = {Mainzer InformatikBerichte}, address = {Nashville, USA}, optorganization = {}, optannote = {}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {BV07.bib}, } @inproceedings{BV08, author = {Martin Bravenboer and Eelco Visser}, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, booktitle = {MoDELS'07 Satellite Events Proceedings}, optcrossref = {}, optkey = {}, optpages = {}, year = {2008}, opteditor = {}, optvolume = {}, optnumber = {}, series = {Lecture Notes in Computer Science}, address = {Nashville, USA}, optorganization = {}, publisher = {Springer}, note = {Selected paper from the Workshop on Language Engineering (ATEM'07)}, optannote = {}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {BV08.bib}, } @techreport{BV94, author = {{\sortunder{Brand}}van den Brand, Mark G. J. and Visser, Eelco}, title = {From {Box} to {\TeX}: {An} algebraic approach to the generation of documentation tools}, year = {1994}, month = {July}, number = {P9420}, institution = {Programming Research Group, University of Amsterdam}, url = {ftp://ftp.wins.uva.nl/pub/programming-research/reports/1994/P9420.ps.Z}, abstract = {We define a translation from an intermediate box language for pretty printing to \TeX. This translation can be used as a back-end for pretty printers in documentation tools for programming languages. The translation is formulated in an executable algebraic specification formalism. An important aspect of the translation is the transformation of boxes according to a set of equations. These equations preserve the text formatting semantics of boxes which is also defined algebraically. New in this approach is that algebraic transformations of box terms are used to circumvent the limitations of the typesetter.\par The \TeX\ generator, which translates the box language to \TeX\ code, is a component of documentation tools generated for the programming environments developed with the ASF+SDF meta-environment, but can also be used as a separate tool. As a case study, the construction of a typesetter for the process specification formalism PSF is shown.}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9420.ps.gz}, pubcat = {techreport}, project = {SDF}, urlbib = {BV94.bib}, } @inproceedings{BVVV05, author = {Martin Bravenboer and Rob Vermaas and Jurgen Vinju and Eelco Visser}, title = {Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax}, booktitle = {Proceedings of the Fourth International Conference on Generative Programming and Component Engineering (GPCE'05)}, pages = {157--172}, year = 2005, editor = {Robert Gl{\"u}ck and Mike Lowry}, volume = 3676, series = {Lecture Notes in Computer Science}, address = {Tallinn, Estonia}, month = {September}, publisher = {Springer}, pubcat = {conference}, project = {Stratego and XT and SDF and TraCE and TFA}, category = {key and refereed}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-035.pdf}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-035.html}, urlgpce = {http://gpce05.gpce.org}, urlspringer = {http://dx.doi.org/10.1007/11561347_12}, class = {Wet}, acceptance = {27/86 = 31\%}, urlbib = {BVVV05.bib}, } @inproceedings{CJC, author = {W. Caarls and P. P. Jonker and H. Corporaal}, title = {Algorithmic Skeletons for Stream Programming in Embedded Heterogeneous Parallel Image Processing}, booktitle = {}, optcrossref = {}, optkey = {}, optpages = {}, optyear = {}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {CJC.bib}, } @misc{codeboost.org, title = {\href{http://www.codeboost.org}{www.codeboost.org}}, pubcat = {website}, project = {Stratego and XT and CodeBoost}, category = {non-refereed}, urlbib = {codeboost.org.bib}, } @mastersthesis{Dam03, author = {Alan van Dam}, title = {Simplifying the Simplifier. {HsOpt}: a modular, rewrite rule based simplifier for the Helium compiler, a non-strict functional compiler}, school = {Utrecht University}, year = 2003, address = {Utrecht, The Netherlands}, month = {July}, note = {INF/SCR-03-25}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Dam03.pdf}, project = {Stratego}, urlbib = {Dam03.bib}, } @mastersthesis{Dam04, author = {Arthur van Dam}, title = {Extending Dynamic Rules. {A}n Application-Oriented Study into {Stratego's} new Dynamic Rules}, school = {Utrecht University}, year = 2004, address = {Utrecht, The Netherlands}, month = {February}, note = {INF/SCR-04-25}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Dam04.pdf}, project = {Stratego}, urlbib = {Dam04.bib}, } @inproceedings{DDG, author = {Valentin David and Akim Demaille and Olivier Gournet}, title = {Attribute Grammars for Modular Disambiguation}, booktitle = {}, optcrossref = {}, optkey = {}, optpages = {}, optyear = {}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {DDG.bib}, } @mastersthesis{Dol01, author = {Eelco Dolstra}, title = {First-class Rules and Generic Traversal for Program Transformation Languages}, school = {Utrecht University}, year = 2001, address = {Utrecht, The Netherlands}, month = {August}, note = {INF/SCR-2001-15}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Dol01.pdf}, project = {Stratego}, urlbib = {Dol01.bib}, } @inproceedings{Dol01-SUD, author = {Eelco Dolstra}, title = {Functional Stratego}, booktitle = {Proceedings of the Second Stratego Users Day (SUD'01)}, pages = {10--17}, year = 2001, editor = {Eelco Visser}, project = {Stratego}, urlbib = {Dol01-SUD.bib}, } @inproceedings{DPS, author = {Akim Demaille and Sylvain Peyronnet and Benoît Sigoure}, title = {Modeling of Sensor Networks Using XRM}, booktitle = {}, optcrossref = {}, optkey = {}, optpages = {}, optyear = {}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {DPS.bib}, } @techreport{DV01, author = {Eelco Dolstra and Eelco Visser}, title = {First-class Rules and Generic Traversal}, institution = {Institute of Information and Computing Sciences, Utrecht University}, year = 2001, number = {UU-CS-2001-38}, address = {Utrecht, The Netherlands}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/DV01.pdf}, pubcat = {techreport}, project = {Stratego}, category = {}, urlbib = {DV01.bib}, } @inproceedings{DV02, author = {Eelco Dolstra and Eelco Visser}, title = {Building Interpreters with Rewriting Strategies}, booktitle = {Workshop on Language Descriptions, Tools and Applications (LDTA'02)}, year = 2002, editor = {Mark van den Brand and Ralf Laemmel}, volume = {65/3}, series = {Electronic Notes in Theoretical Computer Science}, address = {Grenoble, France}, month = {April}, publisher = {Elsevier Science Publishers}, url = {http://www.cs.uu.nl/people/visser/ftp/DV02.pdf}, pubcat = {workshop}, project = {Stratego and TFA}, category = {refereed}, acceptance = {6/14 = 42\%}, urlbib = {DV02.bib}, } @unpublished{DW00, author = {Eelco Dolstra and Hedzer Westra}, title = {Transformaties op {Mondrian} met {Stratego}}, note = {Term paper (in dutch) \url{http://www.cs.uu.nl/~visser/ftp/DW00.pdf} Utrecht University}, month = {July}, year = 2000, project = {Stratego}, urlbib = {DW00.bib}, } @inproceedings{FB06, author = {Sebastian Fleissner and Elisa Baniassad}, title = {A commensalistic software system}, booktitle = {Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, optcrossref = {}, optkey = {}, pages = {560 - 573}, year = {2006}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, publisher = {ACM SIGPLAN}, optnote = {}, optannote = {}, isbn = {ISBN:1-59593-491-X}, url = {http://doi.acm.org/10.1145/1176617.1176629}, project = {Stratego and XT}, urlbib = {FB06.bib}, } @inproceedings{FTH07.relax, author = {Johan Fabry and \'Eric Tanter and Theo D'Hondt}, title = {{ReLAx}: Implementing {KALA} over the {Reflex} {AOP} Kernel}, booktitle = {Proceedings of the 2nd Workshop on Domain-Specific Aspect Languages (DSAL 2007)}, optcrossref = {}, optkey = {}, optpages = {}, year = {2007}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, address = {Vancouver, Canada}, month = {March}, organization = {ACM}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {FTH07.relax.bib}, } @inproceedings{FV03.concretepl, author = {Bernd Fischer and Eelco Visser}, title = {Adding Concrete Syntax to a {Prolog-based} Program Synthesis System (Extended Abstract)}, booktitle = {Preproceedings of the International Symposium on Logic Based Program Synthesis and Transformation (LOPSTR'03)}, pages = {39--48}, year = 2003, editor = {Maurice Bruynooghe}, number = {Report CW 365}, address = {Uppsala, Sweden}, month = {August}, publisher = {Department of Computer Science, K. U. Leuven}, urlinfo = {http://www.stratego-language.org/Stratego/AddingConcreteSyntaxToAPrologBasedProgramSynthesisSystem}, pubcat = {conference and superseded}, project = {Stratego and XT and SDF}, category = {refereed}, urlbib = {FV03.concretepl.bib}, } @inproceedings{FV04.lopstr, author = {Bernd Fischer and Eelco Visser}, title = {Adding Concrete Syntax to a Prolog-Based Program Synthesis System (Extended Abstract)}, booktitle = {13th International Symposium Logic Based Program Synthesis and Transformation: LOPSTR 2003}, pages = {56--58}, year = 2004, editor = {Maurice Bruynooghe}, volume = 3018, series = {Lecture Notes in Computer Science}, address = {Heidelberg}, month = {November}, publisher = {Springer-Verlag}, urlspringer = {http://www.springerlink.com/index/KBP4AUADCQA8M64D}, category = {refereed}, project = {Stratego and XT and SDF}, pubcat = {conference}, urlbib = {FV04.lopstr.bib}, } @incollection{FV04.retrofit, author = {Bernd Fischer and Eelco Visser}, title = {Retrofitting the {AutoBayes} Program Synthesis System with Concrete Object Syntax}, booktitle = {Domain-Specific Program Generation}, pages = {239--253}, year = 2004, editor = {C. Lengauer and others}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Spinger-Verlag}, pubcat = {conference}, url = {http://www.cs.uu.nl/research/techreps/UU-CS-2004-012.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2004/2004-012.pdf}, urlinfo = {http://www.stratego-language.org/Stratego/RetrofittingTheAutoBayesProgramSynthesisSystemWithConcreteSyntax}, urlspringer = {http://www.springerlink.com/index/QMMTH1RULCME6JXC}, project = {Stratego and XT and SDF}, category = {refereed}, urlbib = {FV04.retrofit.bib}, } @inproceedings{GAU04, author = {Sergey V. Goncharov and Arseniy Y. Rudich and Yaroslav S. Usenko}, title = {An implementation of a \muCRL linearization algorithm using rewriting strategies}, booktitle = {Proc. 1st International Conference on Theoretical and Applied Aspects of Program Systems Development (TAAPSD'04)}, optcrossref = {}, optkey = {}, pages = {13-17}, year = {2004}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, address = {Kyiv, Ukraine}, month = {October 5-8}, optorganization = {}, optpublisher = {}, isbn = {ISBN 966-76-52-00-9}, url = {http://www.win.tue.nl/~yusenko/publications.html}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {GAU04.bib}, } @mastersthesis{Gro05, author = {Ren\'e de Groot}, title = {Design and Implementation of Embedded Domain-Specific Languages}, school = {Utrecht University}, year = 2005, address = {Utrecht, The Netherlands}, month = {September}, note = {INF/SCR-05-10}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Gro05.pdf}, project = {Stratego and XT and TraCE}, urlbib = {Gro05.bib}, } @inproceedings{HG07, author = {Leonard Hamey and Shirley Goldrei}, title = {Implementing a Domain-Specific Language using Stratego/XT}, booktitle = {Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA'07)}, optcrossref = {}, optkey = {}, pages = {32--46}, year = {2007}, editor = {A. Sloane and A. Johnstone}, optvolume = {}, optnumber = {}, optseries = {}, address = {Braga, Portugal}, month = {March}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {HG07.bib}, } @mastersthesis{Jan05, author = {Niels Janssen}, title = {Transformation Tool Composition}, school = {Utrecht University}, year = 2005, address = {Utrecht, The Netherlands}, month = {March}, note = {INF/SCR-04-64}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Jan05.pdf}, project = {Stratego and XT and TraCE}, urlbib = {Jan05.bib}, } @inproceedings{JM01, author = {de Jonge, M. and R. Monajemi}, title = {Cost-Effective Maintenance Tools for Proprietary Languages}, booktitle = {Proceedings: International Conference on Software Maintenance (ICSM 2001)}, year = 2001, publisher = {IEEE Computer Society Press}, pages = {240--249}, month = nov, project = {Stratego and XT}, urlbib = {JM01.bib}, } @inproceedings{Jon00, author = {de Jonge, Merijn}, title = {A Pretty-Printer for Every Occasion}, booktitle = {Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools (CoSET2000)}, editor = {Ian Ferguson and Jonathan Gray and Louise Scott}, year = 2000, publisher = {University of Wollongong, Australia}, project = {Stratego and XT and Pretty-Printing}, urlbib = {Jon00.bib}, } @inproceedings{Jon02, author = {de Jonge, Merijn}, title = {Source Tree Composition}, booktitle = {Proceedings: Seventh International Conference on Software Reuse}, editor = {Cristina Gacek}, volume = {2319}, year = 2002, month = apr, series = {LNCS}, publisher = {Springer-Verlag}, pages = {17--32}, project = {XT}, urlbib = {Jon02.bib}, } @article{JV00, author = {Johann, Patricia and Visser, Eelco}, title = {Warm Fusion in {Stratego}: {A} Case Study in the Generation of Program Transformation Systems}, journal = {Annals of Mathematics and Artificial Intelligence}, year = 2000, volume = 29, number = {1--4}, pages = {1--34}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/JV2000-TR.ps.gz}, pubcat = {journal}, project = {Stratego}, category = {refereed}, urlbib = {JV00.bib}, } @inproceedings{JV01, author = {Patricia Johann and Eelco Visser}, title = {Fusing Logic and Control with Local Transformations: An Example Optimization}, series = {Electronic Notes in Theoretical Computer Science}, volume = 57, year = 2001, editor = {B. Gramlich and S. Lucas}, address = {Utrecht, The Netherlands}, month = {May}, publisher = {Elsevier Science Publishers}, booktitle = {Workshop on Reduction Strategies in Rewriting and Programming (WRS'01)}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/JV01.pdf}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/JV01.ps.gz}, pubcat = {workshop}, project = {Stratego}, category = {refereed}, urlbib = {JV01.bib}, } @inproceedings{JV01.sud, author = {de Jonge, Merijn and Joost Visser}, title = {{XT} Capita Selecta}, booktitle = {Proceedings of the Second Stratego Users Day (SUD'01)}, month = {February}, editor = {Eelco Visser}, year = 2001, pages = {18--35}, publisher = {Institute for Information and Computing Sciences, Utrecht University}, project = {Stratego and XT}, urlbib = {JV01.sud.bib}, } @techreport{JV03, author = {Patricia Johann and Eelco Visser}, title = {Strategies for Fusing Logic and Control via Local, Application-Specific Transformations}, institution = {Institute of Information and Computing Sciences, Utrecht University}, year = 2003, number = {UU-CS-2003-050}, month = {February}, url = {http://www.cs.uu.nl/research/techreps/UU-CS-2003-050.html}, urlinfo = {http://www.stratego-language.org/Stratego/FusingLogicAndControl}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2004/2003-50.pdf}, project = {Stratego}, pubcat = {tecnical report}, category = {}, urlbib = {JV03.bib}, } @inproceedings{JVV01, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, title = {{XT}: {A} Bundle of Program Transformation Tools}, booktitle = {Workshop on Language Descriptions, Tools and Applications (LDTA'01)}, year = 2001, editor = {M. G. J. van den Brand and D. Parigot}, volume = 44, number = 2, series = {Electronic Notes in Theoretical Computer Science}, month = {April}, publisher = {Elsevier Science Publishers}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/JVV01.ps.gz}, urlentcs = {http://dx.doi.org/10.1016/S1571-0661(04)80921-6}, pubcat = {workshop}, project = {Stratego and XT}, category = {key and refereed}, urlbib = {JVV01.bib}, } @mastersthesis{Kal03.thesis, author = {Kalleberg, Karl Trygve}, title = {User-configurable, High-Level Transformations with {CodeBoost}}, year = {2003}, month = {March}, school = {University of Bergen}, address = {P.O.Box 7800, N-5020 Bergen, Norway}, project = {Stratego and CodeBoost}, urlbib = {Kal03.thesis.bib}, } @inproceedings{Kie01, author = {Richard Kieburtz}, title = {A Logic for Rewriting Strategies}, booktitle = {Workshop on Strategies in Automated Deduction}, year = 2001, address = {Siena, Italy}, project = {Stratego}, urlbib = {Kie01.bib}, } @mastersthesis{Kru03, author = {Jozef Kruger}, title = {Specification of Loop Optimizations In {Stratego}. {I}mproving the AutoBayes System}, school = {Utrecht University}, year = 2003, address = {Utrecht, The Netherlands}, month = {November}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Kru03.pdf}, project = {Stratego and XT}, urlbib = {Kru03.bib}, } @inproceedings{KV06, author = {Karl Trygve Kalleberg and Eelco Visser}, title = {Combining Aspect-Oriented and Strategic Programming}, booktitle = {Workshop on Rule-Based Programming (RULE'05)}, year = {2006}, editor = {Horatiu Cirstea and Narciso Marti-Oliet}, volume = {147}, number = {1}, pages = {5-30}, series = {Electronic Notes in Theoretical Computer Science}, address = {Nara, Japan}, publisher = {Elsevier Science Publishers}, pubcat = {workshop}, project = {Stratego and TraCE and TFA}, category = {refereed}, urldoi = {http://dx.doi.org/10.1016/j.entcs.2005.06.035}, urlentcs = {http://www.sciencedirect.com/science/journal/15710661}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-030.pdf}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-030.html}, class = {Wet}, acceptance = {6/13 = 46\%}, urlbib = {KV06.bib}, } @inproceedings{KV07.pom, author = {Karl Trygve Kalleberg and Eelco Visser}, title = {Fusing a Transformation Language with an Open Compiler}, booktitle = {Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA'07)}, optcrossref = {}, optkey = {}, pages = {18--31}, year = {2007}, editor = {A. Sloane and A. Johnstone}, optvolume = {}, optnumber = {}, optseries = {}, address = {Braga, Portugal}, month = {March}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT and TFA}, urlbib = {KV07.pom.bib}, } @inproceedings{KV07.spoofax, author = {Karl Trygve Kalleberg and Eelco Visser}, title = {Spoofax: An Interactive Development Environment for Program Transformation with {Stratego/XT}}, booktitle = {Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA'07)}, optcrossref = {}, optkey = {}, pages = {47--50}, year = {2007}, editor = {A. Sloane and A. Johnstone}, optvolume = {}, optnumber = {}, optseries = {}, address = {Braga, Portugal}, month = {March}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT and SDF and TFA}, pubcat = {conference and tool description}, urlbib = {KV07.spoofax.bib}, } @inproceedings{KV94, author = {Klint, Paul and Visser, Eelco}, title = {Using Filters for the Disambiguation of Context-free Grammars}, booktitle = {Proc. {ASMICS} Workshop on Parsing Theory}, editor = {Pighizzini, G. and {San Pietro}, P.}, year = {1994}, month = {October}, pages = {1--20}, publisher = {Tech. Rep. 126--1994, Dipartimento di Scienze dell'Informazione, Universit\`a di Milano}, address = {Milano, Italy}, pubcat = {workshop}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9426.ps.gz}, urlpsz = {ftp://ftp.wins.uva.nl/pub/programming-research/reports/1994/P9426.ps.Z}, abstract = {An ambiguous context-free grammar defines a language in which some sentences have multiple interpretations. For conciseness, ambiguous context-free grammars are frequently used to define even completely unambiguous languages and numerous disambiguation methods exist for specifying which interpretation is the intended one for each sentence. The existing methods can be divided in `parser specific' methods that describe how some parsing technique deals with ambiguous sentences and `logical' methods that describe the intended interpretation without reference to a specific parsing technique. We propose a framework of {\em filters\/} to describe and compare a wide range of disambiguation problems in a parser-independent way. A filter is a function that selects from a set of parse trees (the canonical representation of the interpretations of a sentence) the intended trees. The framework enables us to define several general properties of disambiguation methods. The expressive power of filters is illustrated by several case studies. Finally, a start is made with the study of efficient implementation techniques for filters by exploiting the commutativity of parsing steps and filter steps for certain classes of filters.}, project = {SDF}, category = {refereed}, urlbib = {KV94.bib}, } @inproceedings{Lam01-SUD, author = {Ralf {L\"ammel}}, title = {Towards Typeful Stratego}, booktitle = {Proceedings of the Second Stratego Users Day (SUD'01)}, pages = {4--9}, year = 2001, editor = {Eelco Visser}, month = {February}, publisher = {Institute for Information and Computing Sciences, Utrecht University}, project = {Stratego and XT}, urlbib = {Lam01-SUD.bib}, } @inproceedings{LMC, author = {F. Latry and J. Mercadal and C. Consel}, title = {Processing Domain-Specific Modeling Languages: A Case Study in Telephony Services}, booktitle = {}, optcrossref = {}, optkey = {}, optpages = {}, optyear = {}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {LMC.bib}, } @inproceedings{LV97, author = {Luttik, Bas and Visser, Eelco}, title = {Specification of Rewriting Strategies}, booktitle = {2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF'97)}, editor = {M. P. A. Sellink}, year = {1997}, month = {November}, series = {Electronic Workshops in Computing}, publisher = {Springer-Verlag}, address = {Berlin}, url = {http://www.springer.co.uk/ewic/workshops/ASFSDF97/}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/LV97.ps.gz}, pubcat = {workshop}, project = {Stratego}, category = {key and refereed}, urlbib = {LV97.bib}, } @inproceedings{LVV03, author = {Ralf Laemmel and Eelco Visser and Joost Visser}, title = {Strategic Programming Meets Adaptive Programming}, booktitle = {Proceedings of Aspect-Oriented Software Development (AOSD'03)}, year = {2003}, month = {March}, publisher = {ACM Press}, pages = {168-177}, address = {Boston, USA}, url = {http://www.program-transformation.org/Transform/StrategicProgrammingMeetsAdaptiveProgramming}, pubcat = {conference}, project = {Stratego}, category = {key and refereed}, acceptance = {20/96 = 20\%}, urlbib = {LVV03.bib}, } @mastersthesis{Olm00, author = {Karina Joffre Olmos}, title = {Reverse Engineering Transformations for {DSP} Code Generation}, school = {Utrecht University and Universidad Mayor de San Sim{\'o}n}, year = 2000, address = {Utrecht, The Netherlands}, month = {November}, project = {Stratego}, urlbib = {Olm00.bib}, } @inproceedings{OV02, author = {Karina Olmos and Eelco Visser}, title = {Strategies for Source-to-Source Constant Propagation}, booktitle = {Workshop on Reduction Strategies (WRS'02)}, pages = 20, year = 2002, editor = {B. Gramlich and S. Lucas}, volume = 70, number = 6, series = {Electronic Notes in Theoretical Computer Science}, address = {Copenhagen, Denmark}, month = {July}, publisher = {Elsevier Science Publishers}, urlentcs = {http://www.elsevier.nl/locate/entcs/volume70.html}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/OV02.pdf}, pubcat = {workshop}, project = {Stratego}, category = {refereed}, acceptance = {9/10 = 90%}, urlbib = {OV02.bib}, } @inproceedings{OV03, author = {Karina Olmos and Eelco Visser}, title = {Turning Dynamic Typing into Static Typing by Program Specialization}, booktitle = {Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'03)}, pages = {141--150}, year = 2003, editor = {D. Binkley and P. Tonella}, address = {Amsterdam, The Netherlands}, month = {September}, publisher = {IEEE Computer Society Press}, urlieee = {http://csdl.computer.org/comp/proceedings/scam/2003/2005/00/20050141abs.htm}, urlinfo = {http://www.stratego-language.org/Stratego/TurningDynamicTypingIntoStaticTypingByProgramSpecialization}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2003-049.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2003/2003-049.pdf}, pubcat = {workshop}, project = {Stratego and Octave Compiler}, category = {refereed}, acceptance = {21/43 = 48\%}, urlbib = {OV03.bib}, } @inproceedings{OV05, author = {Karina Olmos and Eelco Visser}, title = {Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules}, booktitle = {14th International Conference on Compiler Construction (CC'05)}, pages = {204--220}, year = 2005, editor = {Rastislav Bodik}, volume = 3443, series = {Lecture Notes in Computer Science}, month = {April}, publisher = {Springer-Verlag}, urldoi = {http://dx.doi.org/10.1007/b107108}, urlinfo = {http://www.stratego-language.org/Stratego/ComposingSourceToSourceDataFlowTransformations}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-006.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-006.pdf}, urlspringer = {http://www.springerlink.com/index/RW9HJQFGVJNJJUK8}, category = {conference}, pubcat = {conference}, project = {Stratego and TraCE and TFA}, class = {Wet}, acceptance = {21/90 = 23\%}, urlbib = {OV05.bib}, } @inproceedings{Rie06, author = {Jonathan Riehl}, title = {Assimilating MetaBorg: Embedding language tools in languages}, booktitle = {GPCE'06}, optcrossref = {}, optkey = {}, optpages = {}, optyear = {}, opteditor = {}, optvolume = {}, optnumber = {}, optseries = {}, optaddress = {}, optmonth = {}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT}, urlbib = {Rie06.bib}, } @book{SPT, author = {Eelco Visser}, title = {Strategies for Program Transformation}, year = 2004, note = {Draft book. Superseded by Stratego/XT manual.}, urlinfo = {http://www.stratego-language.org/Book}, pubcat = {draft}, project = {Stratego and XT}, category = {ongoing and non-refereed}, urlbib = {SPT.bib}, } @misc{stratego-language.org, title = {\href{http://www.stratego-language.org}{www.stratego-language.org}}, pubcat = {website}, project = {Stratego}, category = {non-refereed}, urlbib = {stratego-language.org.bib}, } @manual{StrategoDoc05, title = {Stratego/XT Tutorial, Examples, and Reference Manual for Stratego/XT 0.16}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, organization = {Department of Information and Computing Sciences, Universiteit Utrecht}, address = {Utrecht, The Netherlands}, month = {November}, year = 2005, urlhtml = {http://nix.cs.uu.nl/dist/stratego/strategoxt-manual-0.16/manual/}, project = {Stratego and XT and TraCE}, category = {documentation}, pubcat = {documentation}, class = {Wet non}, urlbib = {StrategoDoc05.bib}, } @manual{StrategoDoc06, title = {Stratego/XT Tutorial, Examples, and Reference Manual (latest)}, optkey = {}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, organization = {Department of Information and Computing Sciences, Universiteit Utrecht}, address = {Utrecht, The Netherlands}, note = {\url{http://www.strategoxt.org}}, optedition = {}, month = {}, year = {2006}, optannote = {}, urlhtml = {http://nix.cs.uu.nl/dist/stratego/strategoxt-manual-unstable-latest/manual/}, project = {Stratego and XT}, category = {documentation and draft}, pubcat = {documentation and draft}, urlbib = {StrategoDoc06.bib}, } @mastersthesis{Swa02, author = {Lennart Swart}, title = {Partial Evaluation using Rewrite Rules. {A} Specification of a Partial Evaluator for {Similix} in {Stratego}}, school = {Utrecht University}, year = 2002, address = {Utrecht, The Netherlands}, month = {August}, note = {INF/SCR-2002-12}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Swa02.pdf}, project = {Stratego}, urlbib = {Swa02.bib}, } @inproceedings{tanter:odal2006, author = {{\'E}ric Tanter}, title = {An Extensible Kernel Language for {AOP}}, booktitle = {Proceedings of AOSD Workshop on Open and Dynamic Aspect Languages}, year = {2006}, address = {Bonn, Germany}, url = {http://www.dcc.uchile.cl/~etanter/index.html}, urlpdf = {http://www.dcc.uchile.cl/~etanter/research/publi/2006/tanter-odal2006.pdf}, project = {Stratego and XT}, urlbib = {tanter-odal2006.bib}, } @manual{TigerCompiler, title = {Tiger in {Stratego}: An Exercise in Compilation by Transformation}, author = {Visser, Eelco}, organization = {Institute of Information and Computing Sciences, Utrecht University}, year = {2002}, note = {Technical Documentation.}, urlwiki = {http://www.stratego-language.org/Tiger}, pubcat = {obsolete}, project = {Stratego and XT and Tiger Compiler}, category = {non-refereed}, urlbib = {TigerCompiler.bib}, } @inproceedings{VB98, author = {Visser, Eelco and Benaissa, Zine-el-Abidine}, title = {A Core Language for Rewriting}, series = {Electronic Notes in Theoretical Computer Science}, year = 1998, volume = 15, month = {September}, editor = {C.~Kirchner and H.~Kirchner}, booktitle = {Second International Workshop on Rewriting Logic and its Applications (WRLA'98)}, address = {Pont-{\`a}-Mousson, France}, publisher = {Elsevier Science Publishers}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/VB98.ps.gz}, pubcat = {workshop}, project = {Stratego}, category = {refereed}, urlbib = {VB98.bib}, } @inproceedings{VBT98, author = {Visser, Eelco and Benaissa, Zine-el-Abidine and Tolmach, Andrew}, title = {Building Program Optimizers with Rewriting Strategies}, booktitle = {Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP'98)}, pages = {13--26}, year = 1998, month = {September}, publisher = {ACM Press}, urlpsgz = {http://www.cs.uu.nl/~visser/ftp/VBT98.ps.gz}, pubcat = {conference}, project = {Stratego}, category = {key and refereed}, acceptance = {30/77, 38\%}, urlbib = {VBT98.bib}, } @mastersthesis{Ver04, author = {Rob B. Vermaas}, title = {{xDoc}. {An} extensible documentation generator}, school = {Utrecht University}, year = 2004, address = {Utrecht, The Netherlands}, month = {February}, note = {INF/SCR-03-41}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Ver04.pdf}, project = {Stratego and XT}, urlbib = {Ver04.bib}, } @inproceedings{Vis00, author = {Eelco Visser}, title = {Language Independent Traversals for Program Transformation}, booktitle = {Workshop on Generic Programming (WGP'00)}, year = 2000, editor = {Johan Jeuring}, address = {Ponte de Lima, Portugal}, month = {July}, publisher = {Technical Report UU-CS-2000-19, Department of Information and Computing Sciences, Universiteit Utrecht}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis00.ps.gz}, pubcat = {workshop}, project = {Stratego}, category = {key and refereed}, urlbib = {Vis00.bib}, } @unpublished{Vis00.strategosdf, author = {Joost Visser}, title = {Stratego + {SDF}}, note = {Stratego Users Day 2000}, project = {Stratego and SDF}, urlbib = {Vis00.strategosdf.bib}, } @inproceedings{Vis01.rta, author = {Eelco Visser}, title = {Stratego: {A} Language for Program Transformation based on Rewriting Strategies. {S}ystem Description of {Stratego} 0.5}, booktitle = {Rewriting Techniques and Applications (RTA'01)}, pages = {357--361}, year = 2001, editor = {A. Middeldorp}, volume = 2051, series = {Lecture Notes in Computer Science}, month = {May}, publisher = {Springer-Verlag}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/Vis01.pdf}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis01.ps.gz}, urlspringer = {http://link.springer.de/link/service/series/0558/bibs/2051/20510357.htm}, pubcat = {conference and tool description}, project = {Stratego}, category = {refereed}, acceptance = {24/55 = 43\%}, urlbib = {Vis01.rta.bib}, } @inproceedings{Vis01.rule, author = {Eelco Visser}, title = {Scoped Dynamic Rewrite Rules}, series = {Electronic Notes in Theoretical Computer Science}, volume = {59/4}, publisher = {Elsevier Science Publishers}, editor = {Mark van den Brand and Rakesh Verma}, year = {2001}, booktitle = {Rule Based Programming (RULE'01)}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/Vis01-rule.pdf}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis01-rule.ps.gz}, month = {September}, pubcat = {workshop}, project = {Stratego}, category = {key and refereed}, urlbib = {Vis01.rule.bib}, } @inproceedings{Vis01.wrs, author = {Visser, Eelco}, title = {A Survey of Rewriting Strategies in Program Transformation Systems}, series = {Electronic Notes in Theoretical Computer Science}, volume = {57}, year = 2001, editor = {B. Gramlich and S. Lucas}, address = {Utrecht, The Netherlands}, month = {May}, publisher = {Elsevier Science Publishers}, booktitle = {Workshop on Reduction Strategies in Rewriting and Programming (WRS'01)}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/Vis01-WRS.pdf}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis01-WRS.ps.gz}, pubcat = {workshop}, project = {Stratego}, category = {refereed}, urlbib = {Vis01.wrs.bib}, } @inproceedings{Vis02.gpce, author = {Eelco Visser}, title = {Meta-Programming with Concrete Object Syntax}, booktitle = {Generative Programming and Component Engineering (GPCE'02)}, pages = {299--315}, year = 2002, editor = {Don Batory and Charles Consel and Walid Taha}, volume = 2487, series = {Lecture Notes in Computer Science}, address = {Pittsburgh, PA, USA}, month = {October}, publisher = {Springer-Verlag}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/Vis02-gpce.pdf}, pubcat = {conference}, project = {Stratego and XT and SDF}, category = {key and refereed}, acceptance = {18/39 = 46\%}, urlbib = {Vis02.gpce.bib}, } @misc{Vis03-lift, author = {Eelco Visser}, title = {Stratego Wiki / Lift Definitions to Top Level}, howpublished = {http://www.stratego-language.org/Stratego/LiftDefinitionsToTopLevel}, month = {August}, year = 2003, note = {Notes on component of the Stratego Compiler}, pubcat = {webpage}, project = {Stratego}, category = {non-refereed}, urlbib = {Vis03-lift.bib}, } @incollection{Vis04.strategoxt, author = {Eelco Visser}, title = {Program Transformation with {Stratego/XT}: Rules, Strategies, Tools, and Systems in {StrategoXT-0.9}}, booktitle = {Domain-Specific Program Generation}, pages = {216--238}, year = 2004, editor = {C. Lengauer and others}, volume = {3016}, series = {Lecture Notes in Computer Science}, month = {June}, publisher = {Spinger-Verlag}, urlspringer = {http://www.springerlink.com/index/MY9WE5TJ86U2F59N}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2004-011.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2004/2004-011.pdf}, urlinfo = {http://www.stratego-language.org/Stratego/ProgramTransformationWithStrategoXT}, pubcat = {conference}, project = {Stratego and XT}, category = {key and refereed}, urlbib = {Vis04.strategoxt.bib}, } @manual{Vis05-bibtextools, title = {The {Stratego/XT} {BibTeX} Tools. {T}ool documentation}, author = {Eelco Visser}, organization = {Department of Information and Computing Sciences, Universiteit Utrecht}, address = {Utrecht, The Netherlands}, edition = {0.2}, month = {November}, year = {2005}, urlwiki = {http://www.stratego-language.org/Stratego/BibtexTools}, urlrelease = {http://nix.cs.uu.nl/dist/stratego/bibtex-tools-0.2/}, urlpdf = {http://nix.cs.uu.nl/dist/stratego/bibtex-tools-0.2/bibtex-tools.pdf}, project = {Stratego and XT}, category = {documentation}, pubcat = {documentation}, class = {Wet non}, urlbib = {Vis05-bibtextools.bib}, } @inproceedings{Vis05.scam, author = {Eelco Visser}, title = {Transformations for Abstractions}, booktitle = {Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05)}, pages = {3--12}, year = 2005, editor = {Jens Krinke and Giulio Antoniol}, address = {Budapest, Hungary}, month = {October}, publisher = {IEEE Computer Society Press}, note = {(Keynote paper)}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-034.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-034.pdf}, urlblog = {http://eelco-visser.blogspot.com/2005/07/transformations-for-abstractions.html}, urlwiki = {http://www.stratego-language.org/Stratego/TransformationsForAbstractions}, urlscam = {http://www.dcs.kcl.ac.uk/staff/mark/scam2005/}, project = {Stratego and TraCE and TFA}, pubcat = {proceedings}, class = {Wet non}, urlbib = {Vis05.scam.bib}, } @article{Vis05.survey, author = {Eelco Visser}, title = {A Survey of Strategies in Rule-Based Program Transformation Systems}, journal = {Journal of Symbolic Computation}, year = 2005, volume = 40, number = 1, pages = {831-873}, urldoi = {http://dx.doi.org/10.1016/j.jsc.2004.12.011}, urljsc = {http://authors.elsevier.com/sd/article/S0747717105000349}, urlinfo = {http://www.program-transformation.org/Transform/ASurveyOfStrategiesInRuleBasedProgramTransformationSystems}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-006.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-022.pdf}, backupurlpdf = {http://www.cs.uu.nl/~visser/ftp/UU-CS-2005-022.pdf}, pubcat = {journal}, project = {Stratego and TraCE}, category = {key and refereed}, note = {Special issue on Reduction Strategies in Rewriting and Programming}, editor = {Bernhard Gramlich and Salvador Lucas}, class = {Wet}, urlbib = {Vis05.survey.bib}, } @inproceedings{Vis07, author = {Eelco Visser}, title = {Domain-Specific Language Engineering}, booktitle = {Generative and Transformational Techniques in Software Engineering (GTTSE 2007)}, editor = {R. L\"ammel and J. Saraiva and J. Visser}, pages = {265--318}, publisher = {Universidade do Minho}, year = {2007}, address = {Braga, Portugal}, month = {July}, note = {International Summer School GTTSE 2007, Pre-Proceedings}, urlpdf = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-017.pdf}, urlblog = {http://blog.eelcovisser.net/index.php?/archives/45-Domain-Specific-Language-Engineering.html}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {Vis07.bib}, } @incollection{Vis08, author = {Eelco Visser}, title = {{WebDSL}: {A} Case Study in Domain-Specific Language Engineering}, booktitle = {Generative and Transformational Techniques in Software Engineering (GTTSE 2007)}, optcrossref = {}, optkey = {}, optpages = {}, publisher = {Springer}, year = {2008}, opteditor = {}, optvolume = {}, optnumber = {}, series = {Lecture Notes in Computer Science}, opttype = {}, optchapter = {}, optaddress = {}, optedition = {}, optmonth = {}, note = {Tutorial for International Summer School GTTSE 2007; to appear}, optannote = {}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {Vis08.bib}, } @inproceedings{Vis95.acc, author = {Visser, Eelco}, title = {A Case Study in Optimizing Parsing Schemata by Disambiguation Filters}, booktitle = {Proceedings Accolade95}, editor = {S. Fischer and M. Trautwein}, year = {1995}, month = {September}, pages = {153--167}, organization = {The Dutch Graduate School in Logic}, address = {Amsterdam}, pubcat = {workshop and superseded}, pubcat = {published techreport}, url = {http://ftp.wins.uva.nl/pub/programming-research/reports/1995/P9507.ps.Z}, abstract = {Disambiguation methods for context-free grammars enable concise specification of programming languages by ambiguous grammars. A disambiguation filter is a function that selects a subset from a set of parse trees---the possible parse trees for an ambiguous sentence. The framework of filters provides a declarative description of disambiguation methods independent of parsing. Although filters can be implemented straightforwardly as functions that prune the parse forest produced by some generalized parser, this can be too inefficient for practical applications. In this paper the optimization of parsing schemata, a framework for high-level description of parsing algorithms, by disambiguation filters is considered in order to find efficient parsing algorithms for declaratively specified disambiguation methods. As a case study the optimization of the parsing schema of Earley's parsing algorithm by two filters is investigated. The main result is a technique for generation of efficient LR-like parsers for ambiguous grammars modulo priorities.}, project = {SDF}, category = {refereed}, urlbib = {Vis95.acc.bib}, } @inproceedings{Vis95.psd, author = {Visser, Eelco}, title = {Polymorphic Syntax Definition (Extended Abstract)}, booktitle = {Algebraic Methods in Language Processing (AMILP'95)}, editor = {A. {Nij\-holt} and G. Scollo and R. Steetskamp}, year = {1995}, month = {December}, series = {Twente Workshops in Language Technology}, volume = {10}, pages = {43--54}, publisher = {Twente University of Technology}, address = {Enschede, The Netherlands}, url = {http://adam.wins.uva.nl/~visser/syntax/papers/psd/}, abstract = {Context-free grammars are used in several algebraic specification formalisms instead of first-order signatures for the definition of the structure of algebras, because grammars provide better notation than signatures. The rigidity of these first-order structures enforces a choice between strongly typed structures with little genericity or generic operations over untyped structures. In two-level signatures the second level defines the algebra of types used at the first level. Two-level grammars are the grammatical counterpart of two-level signatures. This paper discusses the correspondence between context-free grammars and first-order signatures, the extension of these to two-level grammars and signatures and shows how two-level grammars can be used for polymorphic syntax definition and the problems there are for the usage of two-level grammars as signatures in algebraic specification formalisms.}, urlpsgz = {http://www.cs.uu.nl/~visser/ftp/Vis95-AMILP.ps.gz}, pubcat = {workshop and superseded}, project = {SDF}, category = {refereed}, urlbib = {Vis95.psd.bib}, } @inproceedings{Vis95.sdf, author = {Eelco Visser}, title = {A Family of Syntax Definition Formalisms}, booktitle = {{ASF+SDF'95}. A Workshop on Generating Tools from Algebraic Specifications}, editor = {{\sortunder{Brand}}van den Brand, M. G. J. and others}, year = {1995}, month = {May}, pages = {89--126}, publisher = {Technical Report P9504, Programming Research Group, University of Amsterdam}, url = {http://ftp.wins.uva.nl/pub/programming-research/reports/1995/P9504/7.html}, abstract = {In this paper we design a syntax definition formalism as a family of formalisms. Starting with a small kernel, several features for syntax definition are designed orthogonally to each other. This provides a framework for constructing new formalisms by adapting and extending old ones. The formalism is developed with the algebraic specification formalism ASF+SDF. It provides the following features: lexical and context-free syntax, variables, disambiguation by priorities, regular expressions, character classes and modular definitions. New are the uniform treatment of lexical syntax, context-free syntax and variables, the treatment of regular expressions by normalization yielding abstract syntax without auxiliary sorts, regular expressions as result of productions and modules with hidden imports and renamings.}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9504.ps.gz}, pubcat = {workshop}, project = {ASF+SDF and SDF}, category = {refereed}, urlbib = {Vis95.sdf.bib}, } @techreport{Vis97.cc, author = {Visser, Eelco}, title = {Character Classes}, year = {1997}, month = {August}, number = {P9708}, institution = {Programming Research Group, University of Amsterdam}, url = {http://adam.wins.uva.nl/~visser/syntax/sdf/charclasses/}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9708.ps.gz}, pubcat = {techreport}, project = {ASF+SDF and SDF}, category = {non-refereed}, urlbib = {Vis97.cc.bib}, } @incollection{Vis97.ccg, author = {Visser, Eelco}, title = {From Context-free Grammars with Priorities to Character Class Grammars}, year = {1997}, month = {November}, booktitle = {Liber Amicorum Paul Klint}, publisher = {CWI}, optpages = {}, address = {Amsterdam}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9717.ps.gz}, pubcat = {techreport}, project = {ASF+SDF and SDF}, category = {non-refereed}, urlbib = {Vis97.ccg.bib}, } @inproceedings{Vis97.opt, author = {Visser, Eelco}, title = {A Case Study in Optimizing Parsing Schemata by Disambiguation Filters}, booktitle = {International Workshop on Parsing Technology (IWPT'97)}, year = {1997}, month = {September}, pages = {210--224}, organization = {Massachusetts Institute of Technology}, address = {Boston, USA}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9507.ps.gz}, pubcat = {workshop}, project = {SDF}, category = {refereed}, urlbib = {Vis97.opt.bib}, } @techreport{Vis97.sdf, author = {Visser, Eelco}, title = {A Family of Syntax Definition Formalisms}, year = {1997}, month = {July}, number = {P9706}, institution = {Programming Research Group, University of Amsterdam}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9706.ps.gz}, url = {http://www.wins.uva.nl/pub/programming-research/reports/1997/P9706.ps.gz}, pubcat = {techreport}, project = {ASF+SDF and SDF}, category = {non-refereed}, urlbib = {Vis97.sdf.bib}, } @techreport{Vis97.sglr, author = {Visser, Eelco}, title = {Scannerless Generalized-{LR} Parsing}, year = {1997}, month = {July}, number = {P9707}, institution = {Programming Research Group, University of Amsterdam}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9707.ps.gz}, url = {http://www.wins.uva.nl/pub/programming-research/reports/1997/P9707.ps.gz}, pubcat = {techreport}, project = {SDF}, category = {key and non-refereed}, urlbib = {Vis97.sglr.bib}, } @phdthesis{Vis97.thesis, author = {Visser, Eelco}, title = {Syntax Definition for Language Prototyping}, year = {1997}, month = {September}, school = {University of Amsterdam}, url = {http://www.cs.uu.nl/groups/ST/twiki/bin/view/Visser/SyntaxDefinitionForLanguagePrototyping}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis97.ps.gz}, pubcat = {phdthesis}, project = {ASF+SDF and SDF}, category = {key and refereed}, urlbib = {Vis97.thesis.bib}, } @article{Vis98.psd, author = {Visser, Eelco}, title = {Polymorphic Syntax Definition}, journal = {Theoretical Computer Science}, year = 1998, volume = 199, pages = {57--86}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis98.ps.gz}, pubcat = {journal}, project = {ASF+SDF and SDF}, category = {refereed}, urlbib = {Vis98.psd.bib}, } @inproceedings{Vis99, author = {Visser, Eelco}, title = {Strategic Pattern Matching}, booktitle = {Rewriting Techniques and Applications (RTA'99)}, pages = {30--44}, year = 1999, editor = {P. Narendran and M. Rusinowitch}, volume = 1631, series = {Lecture Notes in Computer Science}, address = {Trento, Italy}, month = {July}, publisher = {Springer-Verlag}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis99.ps.gz}, pubcat = {conference}, project = {Stratego}, category = {refereed}, acceptance = {27/53 = 50\%}, urlbib = {Vis99.bib}, } @inproceedings{Vis99.boot, author = {Visser, Eelco}, title = {A Bootstrapped Compiler for Strategies (Extended Abstract)}, booktitle = {Strategies in Automated Deduction (STRATEGIES'99)}, pages = {73--83}, year = 1999, editor = {B. Gramlich and H. Kirchner and F. Pfenning}, address = {Trento, Italy}, month = {July 5}, abstract = {Stratego is a language for the specification of program transformation based on rewriting strategies. The Stratego compiler is based on program transformation; it transforms a high-level Stratego specification via several intermediate representations to C. Several optimizations are performed on the intermediate representations. The compiler is bootstrapped, i.e., it is specified in Stratego itself. In this paper we give an overview of the Stratego compiler: architecture; issues in the compilation of strategies; some high-lights of the specification; and experience with using strategies for writing program transformations.}, pubcat = {workshop and semi-refereed and position paper}, project = {Stratego}, category = {semi-refereed}, urlbib = {Vis99.boot.bib}, } @mastersthesis{Wes02, author = {Hedzer Westra}, title = {Configurable Transformations for High-Quality Automatic Program Improvement. {CobolX}: a case study}, school = {Utrecht University}, year = 2002, month = {February}, address = {Utrecht, The Netherlands}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/Wes02.pdf}, project = {Stratego and XT}, urlbib = {Wes02.bib}, } @mastersthesis{Wij03, author = {Jonne van Wijngaarden}, title = {Code Generation from a Domain Specific Language. Designing and Implementing Complex Program Transformations}, school = {Utrecht University}, year = 2003, address = {Utrecht, The Netherlands}, month = {July}, note = {INF/SCR-03-29}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Wij03.pdf}, project = {Stratego}, urlbib = {Wij03.bib}, } @techreport{WV03, author = {{\sortunder{Wijngaarden}}van Wijngaarden, Jonne and Eelco Visser}, title = {Program Transformation Mechanics. A Classification of Mechanisms for Program Transformation with a Survey of Existing Transformation Systems.}, institution = {Institute of Information and Computing Sciences, Utrecht University.}, year = 2003, number = {UU-CS-2003-048}, month = {May}, url = {http://www.cs.uu.nl/research/techreps/UU-CS-2003-048.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2003/2003-048.pdf}, urlinfo = {http://www.program-transformation.org/Transform/TransformationMechanics}, pubcat = {techreport}, project = {Stratego}, category = {non-refereed}, urlbib = {WV03.bib}, } @misc{WWW-SDF, key = {sdf}, title = {\url{http://www.syntax-definition.org}}, pubcat = {website}, project = {SDF}, category = {non-refereed}, urlbib = {WWW-SDF.bib}, } @misc{WWW-Stratego, key = {stratego}, title = {\url{http://www.stratego-language.org}}, pubcat = {website}, project = {Stratego}, category = {non-refereed}, urlbib = {WWW-Stratego.bib}, } @misc{WWW-Stratego-Documentation, key = {www stratego}, title = {\url{http://www.stratego-language.org/Stratego/StrategoDocumentation}}, pubcat = {website}, project = {Stratego}, category = {non-refereed}, urlbib = {WWW-Stratego-Documentation.bib}, } @misc{WWW-Tiger, key = {www stratego}, title = {\url{http://www.stratego-language.org/Tiger}}, pubcat = {website}, project = {Stratego and XT}, category = {non-refereed}, urlbib = {WWW-Tiger.bib}, } @misc{WWW-XT, key = {www xt}, title = {\url{http://www.program-transformation.org/xt/}}, pubcat = {website}, project = {XT}, category = {non-refereed}, urlbib = {WWW-XT.bib}, } @inproceedings{WY05, author = {D. G. Waddington and B. Yao}, title = {High Fidelity {C++} Code Transformation}, booktitle = {Proceedings of the 5th workshop on Language Descriptions, Tools and Applications (LDTA 2005)}, optcrossref = {}, optkey = {}, optpages = {}, year = {2005}, opteditor = {}, optvolume = {}, optnumber = {}, series = {Electronic Notes in Theoretical Computer Science}, address = {Edinburgh University, UK}, month = {April 3}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Proteus}, urlldta = {http://www-i2.informatik.rwth-aachen.de/Events/LDTA2005/}, urlproteus = {http://www.bell-labs.com/user/dwaddington/proteus/index.htm}, project = {Stratego and XT}, urlbib = {WY05.bib}, }