@preamble{{\def\sortunder#1{}}}

@inproceedings{bagge.03.rule,
  author =	 {Otto Skrove Bagge and Magne Haveraaen},
  title =	 {Domain-Specific Optimisation with User-Defined Rules
                  in {CodeBoost}},
  booktitle =	 {Proceedings of the 4th International Workshop on
                  Rule-Based Programming (RULE'03)},
  address =	 {Valencia, Spain},
  series =	 {Electronic Notes in Theoretical Computer Science},
  volume =	 {86/2},
  publisher =	 {Elsevier},
  editor =	 {Jean-Louis Giavitto and Pierre-Etienne Moreau},
  year =	 2003,
  lrdedoc =	 {comp/compilers/bagge.03.rule.pdf},
}

@InProceedings{bagge.03.scam,
  author =	 {Bagge, Otto Skrove and Kalleberg, Karl Trygve and
                  Haveraaen, Magne and Visser, Eelco},
  title =	 {Design of the {CodeBoost} Transformation System for
                  Domain-Specific Optimisation of {C++} Programs},
  booktitle =	 {Third International Workshop on Source Code Analysis
                  and Manipulation (SCAM 2003)},
  editor =	 {Dave Binkley and Paolo Tonella},
  year =	 2003,
  month =	 {September},
  address =	 {Amsterdam, The Netherlands},
  publisher =	 {IEEE Computer Society Press},
  pages =	 {65--75},
  lrdedoc =	 {comp/compilers/bagge.03.scam.pdf},
}

@misc{bison,
  title =	 "Bison: {GNU} {LALR(1)} and {GLR} Parser Generator",
  author =	 "Robert Corbett and Richard Stallman and Paul
                  Hilfinger",
  year =	 2003,
  note =	 "\url{http://www.gnu.org/software/bison/bison.html}"
}

@Manual{camlp4.manual,
  title =	 {Camlp4 --- Reference Manual},
  author =	 {Daniel de Rauglaudre},
  organization = {Institut National de Recherche en Informatique et
                  Automatique},
  edition =	 {3.07},
  month =	 {Sept},
  year =	 2003,
  note =	 {\url{http://pauillac.inria.fr/camlp4/manual/}},
}

@misc{cil.www,
  title =	 "{CIL} Home Page",
  author =	 {George C. Necula},
  year =	 2005,
  note =	 "\url{http://sourceforge.net/projects/cil}"
}

@Misc{crowl.05.contract,
  author =	 {Lawrence Crowl and Thorsten Ottosen},
  title =	 {Proposal to add Contract Programming to {C++}
                  (revision 3)},
  howpublished =
                  {\url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1866.html}},
  month =	 {August},
  year =	 2005,
}

@InProceedings{ekman.04,
  author =	 "Torbjorn Ekman",
  title =	 {A case study of separation of concerns in compiler
                  construction using {JastAdd} {II}},
  booktitle =	 "The Third AOSD Workshop on Aspects, Components, and
                  Patterns for Infrastructure Software (ACP4IS)",
  institution =	 {Department of Computer Science, Lund University,
                  Sweden},
  year =	 2004,
  url =
                  {http://www.cs.uvic.ca/~ycoady/acp4is04/papers/E00-1250747293.pdf}
}

@misc{fnc2-url,
  author =	 "Didier Parigot",
  title =	 "{FNC-2 Attribute Grammar System}",
  year =	 1988,
  note =	 "\url{http://www-rocq.inria.fr/oscar/www/fnc2/}"
}

@article{heering.89.sigplan,
  author =       {J. Heering and P. R. H. Hendriks and P. Klint and J. Rekers},
  title =        {The Syntax Definition Formalism {SDF} - Reference Manual},
  journal =      {SIGPLAN Notices},
  volume =       24,
  number =       11,
  publisher =    {ACM Press},
  address =      {New York, NY},
  pages =        {43--75},
  year =         1989,
  url =          {citeseer.ist.psu.edu/heering92syntax.html}
}

@misc{irwin-generated,
  author =	 "Warwick Irwin and Neville Churcher",
  title =	 "A Generated Parser of {C++}",
  url =		 "citeseer.ist.psu.edu/irwin01generated.html",
  year =	 2001
}

@Misc{ise.93.dbc,
  author =	 {{ISE Software}},
  year =	 1993,
  title =	 {Building bug-free {O-O} software: An introduction to
                  Design by Contract{(TM)}},
  howpublished =
                  {\url{http://archive.eiffel.com/doc/manuals/technology/contract/page.html}}
}

@Misc{iso.03.c++,
  author =	 {ISO/IEC},
  title =	 {{ISO/IEC} 14882:2003 (E). {Programming languages} ---
                  {C++}},
  year =	 2003,
}

@Misc{iso.98.c++,
  oldkeys =	 {iso.98.cpp},
  author =	 {ISO/IEC},
  title =	 {{ISO/IEC} 14882:1998 (E). {Programming languages} ---
                  {C++}},
  year =	 1998,
}

@Misc{iso.99.c,
  author =	 {ISO/IEC},
  title =	 {{ISO/IEC} 9899:1999 (E). {Programming languages} ---
                  {C}},
  year =	 1999,
}

@Misc{jargon,
  author =	 {Eric S. Raymond},
  title =	 {The Jargon File 4.4.7},
  howpublished = {\url{http://www.catb.org/~esr/jargon/}},
  month =	 {Dec},
  year =	 2003
}

@misc{jastadd-url,
  author =	 {G\"orel Hedin and Eva Magnusson},
  title =	 "{JastAdd}",
  year =	 2001,
  note =	 "\url{http://www.cs.lth.se/Research/ProgEnv/rags/}"
}

@book{java,
  title =	 "The {Java}$^{TM}$ Language Specification
                  \emph{Second Edition}",
  author =	 "James Gosling and Bill Joy and Guy Steele and Gilad
                  Bracha",
  publisher =	 "Addison-Wesley",
  note =	 "ISBN 0-201-31008-2",
  year =	 2000
}

@InJournal{knuth.65.ic,
  author =	 "Donald E. Knuth",
  title =	 {On the Translation of Languages from Left to Right},
  pages =	 "607--639",
  journal =	 {Information and Control},
  year =	 {1965},
  volume =       {8},
}

@article{jezequel.97.computer,
  author =	 {Jean-Marc J\'ez\'equel and Bertrand Meyer},
  title =	 {Design by Contract: The Lessons of Ariane},
  journal =	 {Computer},
  volume =	 30,
  number =	 1,
  year =	 1997,
  issn =	 {0018-9162},
  pages =	 {129--130},
  doi =		 {http://dx.doi.org/10.1109/2.562936},
  publisher =	 {IEEE Computer Society Press},
  address =	 {Los Alamitos, CA, USA},
  note =
                  {\url{http://archive.eiffel.com/doc/manuals/technology/contract/ariane/page.html}}
}

@incollection{ johnson.79,
  author =	 "Steven C. Johnson",
  title =	 "Yacc: Yet Another Compiler Compiler",
  booktitle =	 "{UNIX} Programmer's Manual",
  volume =	 2,
  series =	 {~},
  publisher =	 "Holt, Rinehart, and Winston",
  address =	 "New York, NY, USA",
  pages =	 "353--387",
  year =	 1979,
  url =		 "http://citeseer.ist.psu.edu/johnson79yacc.html",
  note =	 "AT\&T Bell Laboratories Technical Report July 31,
                  1978.",
}

@inproceedings{kalleberg.06.rstp,
  oldkeys =	 {kalleberg-06f},
  author =	 {Karl Trygve Kalleberg and Eelco Visser},
  title =	 {Strategic Graph Rewriting: Transforming and
                  Traversing Terms with References},
  booktitle =	 {Proceedings of the 6th International Workshop on
                  Reduction Strategies in Rewriting and Programming},
  editors =	 {Sergio Antoy},
  year =	 2006,
  month =	 {August},
  address =	 {Seattle, Washington},
  urlpdf =	 {http://www.ii.uib.no/~karltk/phd/papers/wrs06.pdf},
  urlbib =
                  {http://www.ii.uib.no/~karltk/publications/kalleberg-06f.bib},
  note =	 {Accepted for publication},
  lrdedoc =	 {comp/lang/stratego/wrs06.pdf}
}

@Article{knuth.68.jmst,
  author =	 "Donald E. Knuth",
  title =	 "Semantics of context-free languages",
  pages =	 "127--145",
  journal =	 "Journal of Mathematical System Theory",
  year =	 1968
}

@Manual{mcpeak.02,
  title =	 {Elkhound: A Fast, Practical {GLR} Parser Generator},
  author =	 {Scott McPeak},
  month =	 {Dec},
  year =	 2002,
  note =	 {\url{http://www.cs.berkeley.edu/~smcpeak/elkhound/}}
}

@book{meyer.00.oosc,
  author =	 {Bertrand Meyer},
  title =	 {Object-Oriented Software Construction},
  year =	 2000,
  month =	 {March},
  isbn =	 0136291554,
  publisher =	 {Prentice-Hall, Inc.},
  address =	 {Upper Saddle River, NJ, USA},
  annote =	 {1296 pages, 9.3 x 7.0 x 1.9 inches, 4.0 pounds}
}

@article{micallef.94,
  author =	 {Josephine Micallef and Gail E. Kaiser},
  title =	 {Extending Attribute Grammars to Support
                  Programming-in-the-Large},
  journal =	 {ACM Transactions on Programming Languages and
                  Systems},
  volume =	 16,
  number =	 5,
  month =	 {September},
  publisher =	 {ACM Press},
  pages =	 {1572--1612},
  year =	 1994,
  keywords =	 {attribute evaluation, attribute grammar, include
                  files, programming-in-the-large, separate
                  compilation},
  url =
                  {http://citeseer.ist.psu.edu/micallef93extending.html}
}

@inproceedings{necula.2002.cc,
  author =	 {George C. Necula and Scott McPeak and Shree Prakash
                  Rahul and Westley Weimer},
  title =	 {CIL: Intermediate Language and Tools for Analysis
                  and Transformation of C Programs},
  booktitle =	 {CC '02: Proceedings of the 11th International
                  Conference on Compiler Construction},
  year =	 2002,
  isbn =	 {3-540-43369-4},
  pages =	 {213--228},
  publisher =	 {Springer-Verlag},
  address =	 {London, UK},
}

@misc{openc++-templates,
  title =	 "Open {C++}: Volunteering: Full templates support",
  author =	 "Grzegorz Jakacki",
  year =	 2004,
  note =
                  "\url{http://opencxx.sourceforge.net/volunteer/templates-support/}"
}

@Misc{pptable-diff,
  author =	 {{\sortunder{Jonge}}Merijn de Jonge},
  title =	 {Pretty Print Table Diff},
  howpublished =
                  {\url{http://www.program-transformation.org/Tools/PrettyPrintTableDiff}},
  month =	 {Feb},
  year =	 2004,
}

@MISC{program-transformation-org,
  author =	 "Eelco Visser and Deursen, A. van",
  title =	 "{P}rogram {T}ransformation.{O}rg",
  year =	 2000,
  url =		 "http://www.program-transformation.org"
}

@article{rodeh.99.jacm,
  oldkeys =	 {rodeh99finding,rodeh.99},
  author =	 {Michael Rodeh and Mooly Sagiv},
  title =	 {Finding circular attributes in attribute grammars},
  journal =	 {Journal of the ACM},
  volume =	 46,
  number =	 4,
  pages =	 {556--575},
  year =	 1999,
  abstract =	 {The problem of finding the circular attributes in an
                  attribute grammar is considered. Two algorithms are
                  proposed: the first is polynomial but yields
                  conservative results while the second is exact but
                  is potentially exponential. It is also shown that
                  finding the circular attributes is harder than
                  testing circularity.},
  keywords =	 {attribute grammar, circularity problem,
                  computational complexity},
  url =		 {citeseer.ist.psu.edu/sagiv99finding.html}
}

@MISC{stratego-library,
  author =	 "Eelco Visser",
  title =	 "The Stratego Library",
  year =	 2000
}

@MISC{stratego-manual,
  author =	 "Eelco Visser",
  title =	 "The Stratego Reference Manual",
  year =	 2002
}

@MISC{stratego-shell,
  author =	 "Martin Bravenboer",
  title =	 "StrategoShell",
  year =	 2004,
  url =
                  "http://www.stratego-language.org/Stratego/StrategoShell"
}

@MISC{stratego-tutorial,
  author =	 "Eelco Visser",
  title =	 "The Stratego Tutorial",
  year =	 2002
}

@MISC{tiger.str,
  author =	 "Eelco Visser",
  title =	 "Tiger in {S}tratego",
  year =	 2002,
  note =
                  "\url{http://www.program-transformation.org/Tiger/WebHome}"
}

@misc{tiger.www,
  title =	 {Tiger Project Home Page},
  author =	 {LRDE},
  year =	 2000,
  note =	 {\url{http://tiger.lrde.epita.fr/}}
}

@book{tomita.85,
  author =	 {Masaru Tomita},
  title =	 {Efficient Parsing for Natural Language: A Fast
                  Algorithm for Practical Systems},
  year =	 1985,
  isbn =	 0898382025,
  publisher =	 {Kluwer Academic Publishers},
}

@misc{transformers.www,
  title =	 "Transformers Home Page",
  author =	 {{LRDE --- EPITA Research and Developpement
                  Laboratory}},
  year =	 2005,
  note =	 "\url{http://transformers.lrde.epita.fr}"
}

@misc{uuag.www,
  oldkeys =	 {uuag-url},
  author =	 {Arthur Baars and Doaitse Swierstra and Andres L\"oh},
  title =	 "{Utrecht University Attribute Grammar System}",
  year =	 1999,
  note =
                  "\url{http://www.cs.uu.nl/wiki/Center/AttributeGrammarSystem}"
}

@misc{vaucanson.www,
  title =	 {Vaucanson Home Page},
  author =	 {LRDE},
  year =	 2001,
  note =	 {\url{http://vaucanson.lrde.epita.fr/}}
}

@MISC{veldhuizen.99.tr,
  oldkeys =	 {veldhuizen-1999-templates},
  author =	 "Todd Veldhuizen",
  title =	 "{C++} Templates as Partial Evaluation",
  year =	 1999
}

@inproceedings{waddington.05.ldta,
  oldkeys =	 {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)},
  year =	 2005,
  series =	 {Electronic Notes in Theoretical Computer Science},
  address =	 {Edinburgh University, UK},
  month =	 {April 3},
  project =	 {Proteus},
  urlldta =
                  {http://www-i2.informatik.rwth-aachen.de/Events/LDTA2005/},
  urlproteus =
                  {http://www.bell-labs.com/user/dwaddington/proteus/index.htm},
  urlbib =	 {WY05.bib},
  lrdedoc =	 {comp/lang/stratego/waddington.05.ldta.pdf},
}

@article{werther.96.sigplan,
  oldkeys =	 {werther96modest},
  author =	 "Ben Werther and Damian Conway",
  title =	 "A Modest Proposal: {C++} Resyntaxed",
  journal =	 "SIGPLAN Notices",
  volume =	 31,
  number =	 11,
  pages =	 "74-82",
  year =	 1996,
  url =		 "citeseer.ist.psu.edu/werther96modest.html"
}

@techreport{werther.96.tr,
  oldkeys =	 {werther96design},
  author =	 "B. Werther and D. Conway",
  title =	 "The design and implementation of {SPECS}: An
                  alternative {C}++ syntax",
  number =	 "TR 96/256",
  year =	 1996,
  url =		 "citeseer.ist.psu.edu/787.html"
}

@inproceedings{ziane.01.lmo,
  author =	 "Mikal Ziane",
  title =	 "Towards Tool Support for Design Patterns using
                  Program Transformations",
  booktitle =	 "Langages et Mod\`eles \`a Objets (LMO)",
  volume =	 7,
  year =	 2001,
  address =	 "Le Croisic",
  month =	 jan,
  pages =	 "199--214",
  publisher =	 "Herm\`es Science Publications",
  url =		 "http://www-poleia.lip6.fr/~ziane/papers/cn1.pdf"
}

@inproceedings{zook.04.gpce,
  oldkeys =	 {DBLP:conf/gpce/ZookHS04},
  author =	 {David Zook and Shan Shan Huang and Yannis
                  Smaragdakis},
  title =	 {Generating AspectJ Programs with Meta-AspectJ.},
  booktitle =	 {GPCE},
  year =	 2004,
  pages =	 {1-18},
  ee =
                  {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=3286{\&}spage=1},
  crossref =	 {zzzref.04.gpce},
  bibsource =	 {DBLP, http://dblp.uni-trier.de}
}

@proceedings{zzzref.03.scam,
  oldkeys =	 {conf/scam/2030},
  title =	 {3rd IEEE International Workshop on Source Code
                  Analysis and Manipulation (SCAM 2003), 26-27
                  September 2003, Amsterdam, The Netherlands},
  booktitle =	 {SCAM},
  publisher =	 {IEEE Computer Society},
  year =	 2003,
  isbn =	 {0-7695-2005-7},
  bibsource =	 {DBLP, http://dblp.uni-trier.de}
}

@Proceedings{zzzref.04.gpce,
  editor =	 {Gabor Karsai and Eelco Visser},
  title =	 {Generative Programming and Component Engineering:
                  Third International Conference, GPCE 2004,
                  Vancouver, Canada, October 24-28, 2004.
                  Proceedings},
  booktitle =	 {GPCE},
  publisher =	 {Springer},
  series =	 {Lecture Notes in Computer Science},
  volume =	 3286,
  year =	 2004,
  isbn =	 {3-540-23580-9},
  bibsource =	 {DBLP, http://dblp.uni-trier.de}
}
