@inproceedings{DeursenV02, title = {{The Reengineering Wiki}}, author = {Arie van Deursen and Eelco Visser}, year = {2002}, doi = {http://csdl.computer.org/comp/proceedings/csmr/2002/1438/00/14380217abs.htm}, tags = {reverse engineering, bibliography, reengineering, taxonomy, wiki}, researchr = {http://researchr.org/publication/DeursenV02}, pages = {217-220}, booktitle = {6th European Conference on Software Maintenance and Reengineering (CSMR 2002), 11-13 March 2002, Budapest, Hungary, Proceedings}, publisher = {IEEE Computer Society}, isbn = {0-7695-1438-3}, } @inproceedings{GroenewegenV08, title = {Declarative Access Control for {WebDSL}: Combining Language Integration and Separation of Concerns}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1109/ICWE.2008.15}, tags = {separation of concerns, DSL, language design, semantics, WebDSL, aspect weaving, access control}, researchr = {http://researchr.org/publication/GroenewegenV08}, pages = {175-188}, booktitle = {Proceedings of the Eighth International Conference on Web Engineering, ICWE 2008, 14-18 July 2008, Yorktown Heights, New York, USA}, editor = {Daniel Schwabe and Francisco Curbera and Paul Dantzig}, publisher = {IEEE}, isbn = {978-0-7695-3261-5}, } @mastersthesis{Visser:1993, title = {Combinatory Algebraic Specification \& Compilation of List Matching}, author = {Visser, Eelco}, year = {1993}, month = {June}, tags = {transformation, algebraic specification, SDF, rewriting, term rewriting, ASF+SDF, compiler}, researchr = {http://researchr.org/publication/Visser%3A1993}, school = {Department of Computer Science, University of Amsterdam}, address = {Amsterdam}, advisor = {Paul Klint}, } @article{Visser01:WRS, title = {A Survey of Strategies in Program Transformation Systems}, author = {Eelco Visser}, year = {2001}, doi = {http://www.elsevier.nl/locate/entcs/volume57.html}, tags = {program transformation, strategies, software language engineering, reverse engineering, language design, software engineering, transformation system, compiler, refactoring, transformation, Stratego, program optimization, survey, rewriting strategies}, researchr = {http://researchr.org/publication/Visser01%3AWRS}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {57}, } @inproceedings{FischerV03:0, title = {Adding Concrete Syntax to a {Prolog}-Based Program Synthesis System (Extended Abstract)}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3018&spage=56}, tags = {program transformation, Prolog, transformation, Stratego, transformation system, abstract syntax, Stratego/XT, concrete syntax, meta programming, AutoBayes, concrete object syntax}, researchr = {http://researchr.org/publication/FischerV03%3A0}, pages = {56-58}, booktitle = {Logic Based Program Synthesis and Transformation, 13th International Symposium LOPSTR 2003, Uppsala, Sweden, August 25-27, 2003, Revised Selected Papers}, editor = {Maurice Bruynooghe}, volume = {3018}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22174-3}, } @inproceedings{GroenewegenHKV08:DSM, title = {When Frameworks Let You Down. {P}latform-Imposed Constraints on the Design and Evolution of Domain-Specific Languages}, author = {Danny M. Groenewegen and Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, month = {October}, tags = {software evolution, DSL, language design, constraints, static analysis, WebDSL, domain analysis, framework, domain-specific language}, researchr = {http://researchr.org/publication/GroenewegenHKV08%3ADSM}, pages = {64-66}, booktitle = {Proceedings of the 8th OOPSLA Workshop on Domain Specific Modelling (DSM'08)}, editor = {Jeff Gray and Jonathan Sprinkle and Juha-Pekka Tolvanen and Matti Rossi}, address = {Nashville, Tennessee, USA}, } @inproceedings{KatsSV09, title = {Decorated Attribute Grammars: Attribute Evaluation Meets Strategic Programming}, author = {Lennart C. L. Kats and Anthony M. Sloane and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1007/978-3-642-00722-4_11}, tags = {strategic programming, Stratego, Stratego/XT, attribute grammars, programming, grammar, traversal, rewriting, Aster, generic programming, etaps}, researchr = {http://researchr.org/publication/KatsSV09}, pages = {142-157}, booktitle = {Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings}, editor = {Oege de Moor and Michael I. Schwartzbach}, volume = {5501}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00721-7}, } @article{HemelGKV2010, title = {Static Consistency Checking of Web Applications with WebDSL}, author = {Zef Hemel and Danny Groenewegen and Lennart Kats and Eelco Visser}, year = {2010}, note = {(to appear)}, tags = {static analysis, WebDSL, compiler, rule-based}, researchr = {http://researchr.org/publication/HemelGKV2010}, journal = {Journal of Symbolic Computation}, } @article{DolstraV02, title = {Building Interpreters with Rewriting Strategies}, author = {Eelco Dolstra and Eelco Visser}, year = {2002}, doi = {http://www.elsevier.com/gej-ng/31/29/23/117/52/show/Products/notes/index.htt#007}, tags = {pattern matching, interpreters, dynamic rewrite rules, programming languages, semantics, Stratego, Stratego/XT, programming, rewriting, dynamic rules, parallel programming, pattern language, rewriting strategies}, researchr = {http://researchr.org/publication/DolstraV02}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {65}, number = {3}, } @inproceedings{Visser:SCAM:2005, title = {Transformations for Abstractions}, author = {Eelco Visser}, year = {2005}, month = {October}, doi = {http://dx.doi.org/10.1109/SCAM.2005.26}, tags = {program transformation, programming languages, interpreters, transformation, Stratego, extensible languages, Stratego/XT, programming, case study, extensible language}, researchr = {http://researchr.org/publication/Visser%3ASCAM%3A2005}, pages = {3-12}, booktitle = {5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2005), 30 September - 1 October 2005, Budapest, Hungary}, publisher = {IEEE Computer Society}, isbn = {0-7695-2292-0}, } @article{BravenboerKVV08, title = {{Stratego/XT 0.17}. {A} language and toolset for program transformation}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1016/j.scico.2007.11.003}, tags = {program transformation, DSL, transformation, Stratego, abstraction, reusable components, Stratego/XT, concrete syntax, concrete object syntax, rewriting strategies}, researchr = {http://researchr.org/publication/BravenboerKVV08}, journal = {Science of Computer Programming}, volume = {72}, number = {1-2}, pages = {52-70}, } @techreport{Visser1997, title = {Scannerless Generalized-{LR} Parsing}, author = {Visser, Eelco}, year = {1997}, month = {July}, tags = {scannerless parsing, GLR, SDF, grammar, parsing, SGLR, disambiguation}, researchr = {http://researchr.org/publication/Visser1997}, institution = {Programming Research Group, University of Amsterdam}, number = {P9707}, } @inproceedings{LV97, title = {Specification of Rewriting Strategies}, author = {Luttik, Bas and Visser, Eelco}, year = {1997}, month = {November}, tags = {traversal combinators, transformation, Stratego, term rewriting, ASF+SDF, rewriting strategies}, researchr = {http://researchr.org/publication/LV97}, booktitle = {2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997)}, editor = {M. P. A. Sellink}, series = {Electronic Workshops in Computing}, address = {Berlin}, publisher = {Springer-Verlag}, } @inproceedings{KatsVisser2010, title = {The {Spoofax} Language Workbench. {Rules} for Declarative Specification of Languages and {IDEs}}, author = {Lennart C. L. Kats and Eelco Visser}, year = {2010}, tags = {Spoofax, code generation, meta programming, domain analysis, architecture, programming languages, Eclipse, language workbench, transformation, semantics, Stratego, Stratego/XT, programming}, researchr = {http://researchr.org/publication/KatsVisser2010}, booktitle = {Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, October 17-21, 2010, Reno, NV, USA}, editor = {Martin Rinard}, } @inproceedings{1238032, title = {Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs}, author = {Bagge, O.S. and Kalleberg, K.T. and Haveraaen, M. and Visser, E.}, year = {2003}, month = {Sept.}, tags = {transformation, transformation system, C++}, researchr = {http://researchr.org/publication/1238032}, booktitle = {Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on}, } @inproceedings{HemelV09, title = {PIL: A Platform Independent Language for Retargetable DSLs}, author = {Zef Hemel and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1007/978-3-642-12107-4_17}, researchr = {http://researchr.org/publication/HemelV09}, pages = {224-243}, booktitle = {Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers}, editor = {Mark van den Brand and Dragan Gasevic and Jeff Gray}, volume = {5969}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-12106-7}, } @inproceedings{FischerV03, title = {Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3016&spage=239}, tags = {abstract syntax, code generation, constraints, concrete syntax, language embedding, meta programming, program synthesis, migration, generic programming, Prolog, SDF, Stratego, Stratego/XT, programming, concrete object syntax, AutoBayes, program analysis}, researchr = {http://researchr.org/publication/FischerV03}, pages = {239-253}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @inproceedings{OlmosV03, title = {Turning Dynamic Typing into Static Typing by Program Specialization in a Compiler Front-end for {Octave}}, author = {Karina Olmos and Eelco Visser}, year = {2003}, doi = {http://csdl.computer.org/comp/proceedings/scam/2003/2005/00/20050141abs.htm}, tags = {program transformation, type system, transformation, Stratego, transformation system, Stratego/XT, type checking, program specialization, compiler, Octave, dynamic typing}, researchr = {http://researchr.org/publication/OlmosV03}, pages = {141-150}, booktitle = {3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands}, publisher = {IEEE Computer Society}, isbn = {0-7695-2005-7}, } @inproceedings{Visser99, title = {Strategic Pattern Matching}, author = {Eelco Visser}, year = {1999}, doi = {http://link.springer.de/link/service/series/0558/bibs/1631/16310030.htm}, tags = {overlays, pattern matching, transformation, Stratego, Stratego/XT, rewriting, views, pattern language, rewriting strategies}, researchr = {http://researchr.org/publication/Visser99}, pages = {30-44}, booktitle = {Rewriting Techniques and Applications, 10th International Conference, RTA-99, Trento, Italy, July 2-4, 1999, Proceedings}, editor = {Paliath Narendran and Michaël Rusinowitch}, volume = {1631}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-66201-4}, } @article{JongeVV01, title = {{XT}: a bundle of program transformation tools}, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, year = {2001}, doi = {http://dx.doi.org/10.1016/S1571-0661(04)80921-6}, tags = {program transformation, transformation, Stratego, Stratego/XT}, researchr = {http://researchr.org/publication/JongeVV01}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {44}, number = {2}, } @inproceedings{BravenboerV07, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, author = {Martin Bravenboer and Eelco Visser}, year = {2007}, doi = {http://dx.doi.org/10.1007/978-3-540-69073-3_5}, tags = {syntax embedding, language libraries, DSL, syntax definition, transformation, language design, architecture, assimilation}, researchr = {http://researchr.org/publication/BravenboerV07}, pages = {34-46}, booktitle = {Models in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers}, editor = {Holger Giese}, volume = {5002}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69069-6}, } @techreport{Visser-1997-SDF, title = {A Family of Syntax Definition Formalisms}, author = {Eelco Visser}, year = {1997}, month = {August}, tags = {syntax definition, SDF, parsing, scannerless, disambiguation}, researchr = {http://researchr.org/publication/Visser-1997-SDF}, institution = {Programming Research Group, University of Amsterdam}, number = {P9706}, } @inproceedings{SloaneKV:LDTA:2009, title = {A Pure Object-Oriented Embedding of Attribute Grammars}, author = {Tony Sloane and Lennart Kats and Eelco Visser}, year = {2009}, tags = {programming languages, pattern matching, functional programming, object-oriented programming, attribute grammars, programming, grammar, language embedding, domain analysis, Scala, pattern language}, researchr = {http://researchr.org/publication/SloaneKV%3ALDTA%3A2009}, booktitle = {Proceedings of The Ninth Workshop on Language Descriptions, Tools, and Applications (LDTA 2009)}, editor = {Jurgen Vinju and Torbjörn Ekman}, series = {ENTCS}, publisher = {Elsevier}, } @inproceedings{BravenboerDV07, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2007}, doi = {http://doi.acm.org/10.1145/1289971.1289975}, tags = {XML, injection attack, language embedding, security, preventing injection attacks, Java, generic programming, programming languages, syntax embedding, DSL, SDF, embedded software, programming, SQL}, researchr = {http://researchr.org/publication/BravenboerDV07}, pages = {3-12}, booktitle = {Generative Programming and Component Engineering, 6th International Conference, GPCE 2007}, editor = {Charles Consel and Julia L. Lawall}, address = {Salzburg, Austria}, publisher = {ACM}, isbn = {978-1-59593-855-8}, } @inproceedings{KWV10, title = {Pure and Declarative Syntax Definition: Paradise Lost and Regained}, author = {Lennart C. L. Kats and Eelco Visser and Guido Wachsmuth}, year = {2010}, tags = {software evolution, software language engineering, syntax definition, SDF, grammarware, grammar}, researchr = {http://researchr.org/publication/KWV10}, booktitle = {Proceedings of Onward! 2010}, publisher = {ACM}, } @inproceedings{GroenewegenHKV08, title = {WebDSL: a domain-specific language for dynamic web applications}, author = {Danny M. Groenewegen and Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, doi = {http://doi.acm.org/10.1145/1449814.1449858}, tags = {DSL, modeling, language modeling, WebDSL, logic, modeling language, access control, web applications, workflow, web engineering}, researchr = {http://researchr.org/publication/GroenewegenHKV08}, pages = {779-780}, booktitle = {Companion to the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-13, 2007, Nashville, TN, USA}, editor = {Gail E. Harris}, publisher = {ACM}, isbn = {978-1-60558-220-7}, } @inproceedings{BaggeKHV03, title = {Design of the {CodeBoost} Transformation System for Domain-Specific Optimisation of {C++} Programs}, author = {Otto Skrove Bagge and Karl Trygve Kalleberg and Magne Haveraaen and Eelco Visser}, year = {2003}, doi = {http://csdl.computer.org/comp/proceedings/scam/2003/2005/00/20050065abs.htm}, tags = {program transformation, language design, transformation system, domain analysis, parsing, CodeBoost, embedded software, transformation, Stratego, Stratego/XT, C++, program analysis, source-to-source}, researchr = {http://researchr.org/publication/BaggeKHV03}, pages = {65}, booktitle = {3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands}, publisher = {IEEE Computer Society}, isbn = {0-7695-2005-7}, } @inproceedings{KatsVisser-SCAM-2010, title = {Encapsulating Software Platform Logic by Aspect-Oriented Programming: A Case Study in Using Aspects for Language Portability}, author = {Lennart C. L. Kats and Eelco Visser}, year = {2010}, tags = {program transformation, programming languages, transformation, Stratego, transformation system, programming, case study, logic, compiler, aspect oriented programming, Java, logic programming}, researchr = {http://researchr.org/publication/KatsVisser-SCAM-2010}, booktitle = {Proceedings of the Tenth IEEE International Working Conference on Source Code Analysis and Manipulation 2010}, editor = {Cristina Marinescu and Jurgen Vinju}, } @inproceedings{KatsSV09:0, title = {Decorated Attribute Grammars: Attribute Evaluation Meets Strategic Programming}, author = {Lennart C. L. Kats and Anthony M. Sloane and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1007/978-3-642-00722-4_11}, tags = {attribute grammars, programming, grammar, generic programming}, researchr = {http://researchr.org/publication/KatsSV09%3A0}, pages = {142-157}, booktitle = {Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings}, volume = {5501}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00721-7}, } @inproceedings{GroenewegenVisser-SLE-2009, title = {Integration of Data Validation and User Interface Concerns in a {DSL} for Web Applications }, author = {Danny M. Groenewegen and Eelco Visser}, year = {2010}, tags = {DSL, modeling, code generation, language modeling, semantics, constraints, WebDSL, data validation, modeling language, web applications}, researchr = {http://researchr.org/publication/GroenewegenVisser-SLE-2009}, booktitle = {Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers}, editor = {Mark van den Brand and Dragan Gasevic and Jeff Gray}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, } @inproceedings{HemelVisser:2009, title = {{PIL}: A Platform Independent Language for Retargetable {DSLs}}, author = {Zef Hemel and Eelco Visser}, year = {2010}, tags = {language design, WebDSL, portability, compiler, PIL, programming languages, retargeteable, DSL, platform independent language, abstraction, platform, Stratego/XT, programming, little language, web applications, reuse}, researchr = {http://researchr.org/publication/HemelVisser%3A2009}, booktitle = {Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers}, editor = {Mark van den Brand and Dragan Gasevic and Jeff Gray}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, } @misc{homepages-00-5705, title = {Home Page}, author = {Eelco Visser}, researchr = {http://researchr.org/publication/homepages-00-5705}, } @inproceedings{KKV08, title = {Generating Editors for Embedded Languages. Integrating SGLR into IMP}, author = {Lennart C. L. Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2008}, month = {April}, tags = {Spoofax, scannerless parsing, syntax definition, Eclipse, SDF, code generation, parsing, SQL, SGLR, extensible language}, researchr = {http://researchr.org/publication/KKV08}, pages = {168-173}, booktitle = {Proceedings of the Eight Workshop on Language Descriptions, Tools, and Applications}, editor = {Jurgen Vinju and Adrian Johnstone}, volume = {238}, number = {5}, series = {Electronic Notes in Theoretical Computer Science }, publisher = {Elsevier}, } @inproceedings{KatsJNV:OOPSLA:2009, title = {Providing Rapid Feedback in Generated Modular Language Environments. {Adding} Error Recovery to Scannerless Generalized-{LR} Parsing}, author = {Lennart C. L. Kats and Maartje de Jonge and Emma Nilsson-Nyman and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1145/1639949.1640122}, tags = {Spoofax, syntax definition, modular languages, principles, code generation, grammar, parsing, Java, SGLR, scannerless parsing, SDF, Stratego, semantics, error recovery}, researchr = {http://researchr.org/publication/KatsJNV%3AOOPSLA%3A2009}, pages = {445-464}, booktitle = {Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA.}, editor = {Shail Arora and Gary T. Leavens}, } @article{BrandDHJJKKMOSVVV01:0, title = {The {Asf+Sdf} Meta-Environment: a Component-Based Language Development Environment}, author = {Mark van den Brand and Arie van Deursen and Jan Heering and Hayco de Jong and Merijn de Jonge and Tobias Kuipers and Paul Klint and Leon Moonen and Pieter A. Olivier and Jeroen Scheerder and Jurgen J. Vinju and Eelco Visser and Joost Visser}, year = {2001}, month = {apr}, doi = {http://link.springer.de/link/service/series/0558/bibs/2027/20270365.htm}, tags = {SDF, Cobol, Meta-Environment, ASF+SDF, architecture}, researchr = {http://researchr.org/publication/BrandDHJJKKMOSVVV01%3A0}, journal = {LNCS}, volume = {2027}, pages = {365-370}, } @inproceedings{BrandV95, title = {The {Asf+Sdf} Meta-Environment Documentation Tools for Free!}, author = {Mark van den Brand and Eelco Visser}, year = {1995}, doi = {http://dx.doi.org/10.1007/3-540-59293-8_242}, tags = {SDF, Meta-Environment, software documentation, ASF+SDF, documentation, pretty-printing}, researchr = {http://researchr.org/publication/BrandV95}, pages = {803-804}, booktitle = {TAPSOFT 95: Theory and Practice of Software Development, 6th International Joint Conference CAAP/FASE, Aarhus, Denmark, May 22-26, 1995, Proceedings}, editor = {Peter D. Mosses and Mogens Nielsen and Michael I. Schwartzbach}, volume = {915}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-59293-8}, } @inproceedings{BravenboerTV06, title = {Declarative, formal, and extensible syntax definition for {AspectJ}}, author = {Martin Bravenboer and Éric Tanter and Eelco Visser}, year = {2006}, doi = {http://doi.acm.org/10.1145/1167473.1167491}, tags = {language composition, AspectJ, syntax definition, language design, grammar, parsing, compiler, Java, SGLR, programming languages, design research, scannerless parsing, SDF, programming, aspect oriented programming, extensible language}, researchr = {http://researchr.org/publication/BravenboerTV06}, pages = {209-228}, booktitle = {Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA}, editor = {Peri L. Tarr and William R. Cook}, publisher = {ACM}, isbn = {1-59593-348-4}, } @inproceedings{KKV09, title = {Domain-Specific Languages for Composable Editor Plugins}, author = {Lennart C. L. Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2009}, tags = {Spoofax, language composition, syntax definition, WebDSL, grammar, meta programming, web services, IDE, SGLR, semantic web, programming languages, Eclipse, DSL, SDF, web service, Stratego, semantics, programming, web applications}, researchr = {http://researchr.org/publication/KKV09}, booktitle = {Proceedings of The Ninth Workshop on Language Descriptions, Tools, and Applications (LDTA 2009)}, editor = {Jurgen Vinju and Torbjörn Ekman}, series = {ENTCS}, publisher = {Elsevier}, } @article{BravenboerDV-SCP-2009, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2010}, month = {July}, doi = {http://dx.doi.org/10.1016/j.scico.2009.05.004}, tags = {programming languages, embedded software, XML, programming, injection attack, SQL, Java, generic programming}, researchr = {http://researchr.org/publication/BravenboerDV-SCP-2009}, journal = {Science of Computer Programming}, volume = {75}, number = {7}, pages = {473-495}, } @inproceedings{DolstraBV05, title = {Service configuration management}, author = {Eelco Dolstra and Martin Bravenboer and Eelco Visser}, year = {2005}, doi = {http://doi.acm.org/10.1145/1109128.1109135}, tags = {Nix, software components, software component, software configuration, service configuration management, deployment, software deployment, SCM}, researchr = {http://researchr.org/publication/DolstraBV05}, pages = {83-98}, booktitle = {Proceedings of the 12th International Workshop on Software Configuration Management, SCM 2005, Lisbon, Portugal, September 5-6, 2005}, publisher = {ACM}, isbn = {1-59593-310-7}, } @article{BouwersBV08, title = {Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking}, author = {Eric Bouwers and Martin Bravenboer and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1016/j.entcs.2008.03.046}, tags = {syntax definition, grammar, parsing, precedence rule, compiler, migration, PHP, programming languages, grammar engineering, YACC, scannerless parsing, SDF, semantics, Stratego/XT, programming, priority, C++}, researchr = {http://researchr.org/publication/BouwersBV08}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {85-101}, } @article{KallebergV06, title = {Combining Aspect-Oriented and Strategic Programming}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2006}, doi = {http://dx.doi.org/10.1016/j.entcs.2005.06.035}, tags = {program transformation, debugging, programming paradigms, type checking, type system, strategic programming, Stratego, transformation aspects, Stratego/XT, data-flow programming, programming, data-flow, term rewriting, rule-based, data-flow language, aspect oriented programming}, researchr = {http://researchr.org/publication/KallebergV06}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {147}, number = {1}, pages = {5-30}, } @inproceedings{DolstraVJ04, title = {Imposing a Memory Management Discipline on Software Deployment}, author = {Eelco Dolstra and Eelco Visser and Merijn de Jonge}, year = {2004}, doi = {http://csdl.computer.org/comp/proceedings/icse/2004/2163/00/21630583abs.htm}, tags = {Nix, programming languages, software components, software component, memory management, programming, deployment, software deployment, generic programming}, researchr = {http://researchr.org/publication/DolstraVJ04}, pages = {583-592}, booktitle = {26th International Conference on Software Engineering (ICSE 2004), 23-28 May 2004, Edinburgh, United Kingdom}, publisher = {IEEE Computer Society}, isbn = {0-7695-2163-0}, } @inproceedings{GeestVDV08, title = {Generating Version Convertors for Domain-Specific Languages}, author = {Gerardo de Geest and Sander Vermolen and Arie van Deursen and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1109/WCRE.2008.50}, tags = {evolution, software evolution, DSL, dsl-tools, convertors, language}, researchr = {http://researchr.org/publication/GeestVDV08}, pages = {197-201}, booktitle = {WCRE 2008, Proceedings of the 15th Working Conference on Reverse Engineering, Antwerp, Belgium, October 15-18, 2008}, publisher = {IEEE}, } @inproceedings{BravenboerKVV06, title = {{Stratego/XT 0.16}: components for transformation systems}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2006}, doi = {http://doi.acm.org/10.1145/1111542.1111558}, tags = {program transformation, transformation, Stratego, abstraction, reusable components, Stratego/XT, concrete syntax, concrete object syntax, rewriting strategies}, researchr = {http://researchr.org/publication/BravenboerKVV06}, pages = {95-99}, booktitle = {Proceedings of the 2006 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2006, Charleston, South Carolina, USA, January 9-10, 2006}, editor = {John Hatcliff and Frank Tip}, publisher = {ACM}, isbn = {1-59593-196-1}, } @inproceedings{GroenewegenV:OOPSLA:2009, title = {Weaving Web Applications with {WebDSL} (Demonstration)}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2009}, doi = {http://doi.acm.org/10.1145/1639950.1640020}, tags = {web application, tool, WebDSL, data validation, demonstration, compiler, Java, access control, web applications, workflow, web engineering}, researchr = {http://researchr.org/publication/GroenewegenV%3AOOPSLA%3A2009}, pages = {797-798}, booktitle = {Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlanda, FL, USA}, editor = {Gary T. Leavens}, address = {New York, NY, USA}, publisher = {ACM}, } @inproceedings{DolstraJV04, title = {Nix: A Safe and Policy-Free System for Software Deployment}, author = {Eelco Dolstra and Merijn de Jonge and Eelco Visser}, year = {2004}, doi = {http://www.usenix.org/publications/library/proceedings/lisa04/tech/dolstra.html}, tags = {Nix, software components, software component, deployment, software deployment}, researchr = {http://researchr.org/publication/DolstraJV04}, pages = {79-92}, booktitle = {Proceedings of the 18th Conference on Systems Administration (LISA 2004), Atlanta, USA, November 14-19, 2004}, publisher = {USENIX}, } @inproceedings{SloaneKV:LDTA:2009, title = {A Pure Object-Oriented Embedding of Attribute Grammars}, author = {Tony Sloane and Lennart Kats and Eelco Visser}, year = {2009}, tags = {programming languages, pattern matching, functional programming, object-oriented programming, attribute grammars, programming, grammar, language embedding, domain analysis, Scala, pattern language}, researchr = {http://researchr.org/publication/SloaneKV%3ALDTA%3A2009}, booktitle = {Proceedings of The Ninth Workshop on Language Descriptions, Tools, and Applications (LDTA 2009)}, editor = {Jurgen Vinju and Torbjörn Ekman}, series = {ENTCS}, publisher = {Elsevier}, } @inproceedings{1441566, title = {Declarative Access Control for WebDSL: Combining Language Integration and Separation of Concerns}, author = {Groenewegen, Danny and Visser, Eelco}, year = {2008}, doi = {http://dx.doi.org/10.1109/ICWE.2008.15}, tags = {separation of concerns, WebDSL, access control}, researchr = {http://researchr.org/publication/1441566}, pages = {175-188}, booktitle = {ICWE '08: Proceedings of the 2008 Eighth International Conference on Web Engineering}, address = {Washington, DC, USA}, publisher = {IEEE Computer Society}, isbn = {978-0-7695-3261-5}, } @inproceedings{VisserBT98, title = {Building Program Optimizers with Rewriting Strategies}, author = {Eelco Visser and Zine-El-Abidine Benaissa and Andrew P. Tolmach}, year = {1998}, doi = {http://doi.acm.org/10.1145/289423.289425}, tags = {program transformation, variable binding, Stratego, semantics, program optimization, Stratego/XT, rewriting, term rewriting, C++, rewriting strategies}, researchr = {http://researchr.org/publication/VisserBT98}, pages = {13-26}, booktitle = {Proceedings of the third ACM SIGPLAN international conference on Functional programming}, editor = {Matthias Felleisen and Paul Hudak and Christian Queinnec}, address = {Baltimore, Maryland, United States}, publisher = {ACM}, } @inproceedings{JongeNKV09, title = {Natural and Flexible Error Recovery for Generated Parsers}, author = {Maartje de Jonge and Emma Nilsson-Nyman and Lennart C. L. Kats and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1007/978-3-642-12107-4_16}, researchr = {http://researchr.org/publication/JongeNKV09}, pages = {204-223}, booktitle = {Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers}, editor = {Mark van den Brand and Dragan Gasevic and Jeff Gray}, volume = {5969}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-12106-7}, } @article{DuranRBBEKKMSV09, title = {The Second Rewrite Engines Competition}, author = {Francisco Durán and Manuel Roldán and Emilie Balland and Mark van den Brand and Steven Eker and Karl Trygve Kalleberg and Lennart C. L. Kats and Pierre-Etienne Moreau and Ruslan Shevchenko and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1016/j.entcs.2009.05.025}, tags = {rewrite engine, SDF, Stratego, logic, term rewriting, ASF+SDF, rewriting strategies}, researchr = {http://researchr.org/publication/DuranRBBEKKMSV09}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {238}, number = {3}, pages = {281-291}, } @inproceedings{GroenewegenV09-0, title = {Weaving web applications with WebDSL: (demonstration)}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2009}, doi = {http://doi.acm.org/10.1145/1639950.1640020}, tags = {WebDSL, data validation, compiler, Java, access control, web applications, workflow}, researchr = {http://researchr.org/publication/GroenewegenV09-0}, pages = {797-798}, booktitle = {Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA}, editor = {Shail Arora and Gary T. Leavens}, publisher = {ACM}, isbn = {978-1-60558-768-4}, } @inproceedings{BrandSVV02, title = {Disambiguation Filters for Scannerless Generalized {LR} Parsers}, author = {Mark van den Brand and Jeroen Scheerder and Jurgen J. Vinju and Eelco Visser}, year = {2002}, doi = {http://link.springer.de/link/service/series/0558/bibs/2304/23040143.htm}, tags = {scannerless parsing, GLR, syntax definition, SDF, parsing, GLR parsing, scannerless, SGLR, disambiguation}, researchr = {http://researchr.org/publication/BrandSVV02}, pages = {143-158}, booktitle = {Compiler Construction, 11th International Conference, CC 2002, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8-12, 2002, Proceedings}, editor = {R. Nigel Horspool}, volume = {2304}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-43369-4}, } @inproceedings{BravenboerV02, title = {Rewriting Strategies for Instruction Selection}, author = {Martin Bravenboer and Eelco Visser}, year = {2002}, doi = {http://link.springer.de/link/service/series/0558/bibs/2378/23780237.htm}, tags = {program transformation, transformation, Stratego, code generation, Stratego/XT, programming, compilation, rewriting, term rewriting, compilers, instruction selection, rewriting strategies}, researchr = {http://researchr.org/publication/BravenboerV02}, pages = {237-251}, booktitle = {Rewriting Techniques and Applications, 13th International Conference, RTA 2002, Copenhagen, Denmark, July 22-24, 2002, Proceedings}, editor = {Sophie Tison}, volume = {2378}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-43916-1}, } @inproceedings{KatsKV-SLE-2010, title = {Interactive Disambiguation of Meta Programs with Concrete Object Syntax}, author = {Lennart Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2011}, tags = {Spoofax, abstract syntax, concrete syntax, concrete object syntax, IDE}, researchr = {http://researchr.org/publication/KatsKV-SLE-2010}, booktitle = {Software Language Engineering, Third International Conference, SLE 2010, Eindhoven, The Netherlands, October 12-13, 2010, Revised Selected Papers}, editor = {Mark van den Brand and Brian Malloy and Steffen Staab}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, } @inproceedings{OlmosV05, title = {Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules}, author = {Karina Olmos and Eelco Visser}, year = {2005}, doi = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3443&spage=204}, tags = {program transformation, variable binding, dependent dynamic rewrite rules, domain analysis, dynamic rewrite rules, data-flow analysis, modeling, transformation, refactoring, Stratego, language modeling, Stratego/XT, data-flow programming, programming, data-flow, data-flow language, modeling language, dynamic rules, rewriting strategies, source-to-source, program analysis}, researchr = {http://researchr.org/publication/OlmosV05}, pages = {204-220}, booktitle = {Compiler Construction, 14th International Conference, CC 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, UK, April 4-8, 2005, Proceedings}, editor = {Rastislav Bodík}, volume = {3443}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-25411-0}, } @article{BrandV96, title = {Generation of Formatters for Context-Free Languages}, author = {Mark van den Brand and Eelco Visser}, year = {1996}, doi = {http://doi.acm.org/10.1145/226155.226156}, tags = {programming languages, software language engineering, algebraic specification, software engineering, abstract syntax, programming, grammar, ASF+SDF, source code formatting, pretty-printing}, researchr = {http://researchr.org/publication/BrandV96}, journal = {ACM Transactions on Software Engineering Methodology}, volume = {5}, number = {1}, pages = {1-41}, } @inproceedings{DeJonge:Nyman:2010, title = {Natural and Flexible Error Recovery for Generated Parsers}, author = {Maartje de Jonge and Emma Nilsson-Nyman and Lennart C. L. Kats and Eelco Visser}, year = {2010}, tags = {Spoofax, syntax definition, Eclipse, SDF, semantics, grammar, parsing, indentation, Java, layout sensitive parsing, SGLR, error recovery}, researchr = {http://researchr.org/publication/DeJonge%3ANyman%3A2010}, booktitle = {Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers}, editor = {Mark van den Brand and Dragan Gasevic and Jeff Gray}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, } @inproceedings{KatsVisser2010poster, title = {The {Spoofax} Language Workbench}, author = {Lennart C. L. Kats and Eelco Visser}, year = {2010}, tags = {program transformation, syntax definition, code generation}, researchr = {http://researchr.org/publication/KatsVisser2010poster}, booktitle = {Companion to the Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH 2010)}, publisher = {ACM}, } @incollection{Vis96.mls, title = {Multi-Level Specifications}, author = {Visser, Eelco}, year = {1996}, month = {September}, tags = {type system, syntax definition, algebra, algebraic specification, SDF, abstraction, semantics, language prototyping, multi-level specification, ASF+SDF, C++}, researchr = {http://researchr.org/publication/Vis96.mls}, pages = {105-196}, booktitle = {Language Prototyping. An Algebraic Specification Approach}, editor = {A. van Deursen and J. Heering and P. Klint}, volume = {5}, series = {AMAST Series in Computing}, address = {Singapore}, publisher = {World Scientific}, } @article{OlmosV02, title = {Strategies for Source-to-Source Constant Progagation}, author = {Karina Olmos and Eelco Visser}, year = {2002}, doi = {http://www.elsevier.com/gej-ng/31/29/23/125/47/show/Products/notes/index.htt#009}, tags = {program transformation, constant propagation, transformation, Stratego, transformation system, abstract syntax, program optimization, Stratego/XT, dynamic rewrite rules, rewriting strategies, source-to-source}, researchr = {http://researchr.org/publication/OlmosV02}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {70}, number = {6}, } @inproceedings{Visser07, title = {{WebDSL}: {A} Case Study in Domain-Specific Language Engineering}, author = {Eelco Visser}, year = {2007}, doi = {http://dx.doi.org/10.1007/978-3-540-88643-3_7}, tags = {DSL engineering, software components, software language engineering, software engineering, language design, WebDSL, language engineering, language, web application development, web engineering, DSL, SDF, Stratego, reusable components, Stratego/XT, case study, survey, web applications}, researchr = {http://researchr.org/publication/Visser07}, pages = {291-373}, booktitle = {Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007, Braga, Portugal, July 2-7, 2007. Revised Papers}, editor = {Ralf Lämmel and Joost Visser and João Saraiva}, volume = {5235}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-88642-6}, } @inproceedings{BravenboerV04, title = {Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions}, author = {Martin Bravenboer and Eelco Visser}, year = {2004}, doi = {http://doi.acm.org/10.1145/1028976.1029007}, tags = {program transformation, syntax definition, XML, code generation, concrete syntax, assimilation, SDF, transformation, Stratego, Stratego/XT, MetaBorg, concrete object syntax, reuse}, researchr = {http://researchr.org/publication/BravenboerV04}, pages = {365-383}, booktitle = {Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004}, editor = {John M. Vlissides and Douglas C. Schmidt}, address = {Vancouver, BC, Canada}, publisher = {ACM}, isbn = {1-58113-831-8}, } @inproceedings{Vis95.sdf, title = {A Family of Syntax Definition Formalisms}, author = {Eelco Visser}, year = {1995}, month = {May}, tags = {syntax definition, algebraic specification, SDF, abstract syntax, parsing, ASF+SDF, syntax definition formalism, disambiguation}, researchr = {http://researchr.org/publication/Vis95.sdf}, pages = {89-126}, booktitle = {{ASF+SDF 1995}. A Workshop on Generating Tools from Algebraic Specifications}, editor = {van den Brand, M. G. J. and others}, publisher = {Technical Report P9504, Programming Research Group, University of Amsterdam}, } @article{1462626, title = {WebDSL: A Case Study in Domain-Specific Language Engineering}, author = {Visser, Eelco}, year = {2008}, doi = {http://dx.doi.org/10.1007/978-3-540-88643-3_7}, tags = {case study, WebDSL}, researchr = {http://researchr.org/publication/1462626}, pages = {291-373}, } @inproceedings{Visser02, title = {Meta-programming with Concrete Object Syntax}, author = {Eelco Visser}, year = {2002}, doi = {http://link.springer.de/link/service/series/0558/bibs/2487/24870299.htm}, tags = {program transformation, syntax definition, abstract syntax, meta programming, concrete syntax, parsing, programming languages, scannerless parsing, SDF, transformation, Stratego, Stratego/XT, case study, programming, concrete object syntax}, researchr = {http://researchr.org/publication/Visser02}, pages = {299-315}, booktitle = {Generative Programming and Component Engineering, ACM SIGPLAN/SIGSOFT Conference, GPCE 2002, Pittsburgh, PA, USA, October 6-8, 2002, Proceedings}, editor = {Don S. Batory and Charles Consel and Walid Taha}, volume = {2487}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-44284-7}, } @inproceedings{GroenewegenV09, title = {Integration of Data Validation and User Interface Concerns in a DSL for Web Applications}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1007/978-3-642-12107-4_13}, tags = {DSL, data validation, web applications}, researchr = {http://researchr.org/publication/GroenewegenV09}, pages = {164-173}, booktitle = {Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers}, editor = {Mark van den Brand and Dragan Gasevic and Jeff Gray}, volume = {5969}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-12106-7}, } @inproceedings{BDV09.cloud, title = {Software deployment in a dynamic cloud: From device to service orientation in a hospital environment}, author = {Sander van der Burg and Eelco Dolstra and Eelco Visser}, year = {2009}, month = {May}, doi = {http://dx.doi.org/10.1109/CLOUD.2009.5071534}, tags = {Nix, software components, distributed deployment, deployment, software deployment, architecture, software architecture}, researchr = {http://researchr.org/publication/BDV09.cloud}, pages = {61-66}, booktitle = {CLOUD '09: Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing}, editor = {Kamal Bhattacharya and Martin Bichler and Stefan Tai}, address = {Vancouver, Canada}, publisher = {IEEE Computer Society}, } @inproceedings{Visser03, title = {Program Transformation with {Stratego/XT}: Rules, Strategies, Tools, and Systems in {Stratego/XT 0.9}}, author = {Eelco Visser}, year = {2003}, doi = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3016&spage=216}, tags = {program transformation, transformation, Stratego, abstraction, Stratego/XT, parsing, rewriting strategies}, researchr = {http://researchr.org/publication/Visser03}, pages = {216-238}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @inproceedings{VermolenV08, title = {Heterogeneous Coupled Evolution of Software Languages}, author = {Sander Vermolen and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1007/978-3-540-87875-9_44}, tags = {heterogeneous, software evolution, software languages, coupled, model, format evolution, coupled evolution, architecture, evolution, modeling, transformation, languages, language modeling, database, modeling language, model transformation, software architecture}, researchr = {http://researchr.org/publication/VermolenV08}, pages = {630-644}, booktitle = {Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings}, editor = {Krzysztof Czarnecki and Ileana Ober and Jean-Michel Bruel and Axel Uhl and Markus Völter}, volume = {5301}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-87874-2}, } @article{HemelGKV-JSC-2010, title = {Static Consistency Checking of Web Applications with {WebDSL}}, author = {Zef Hemel and Danny M. Groenewegen and Lennart C. L. Kats and Eelco Visser}, year = {2010}, note = {(to appear)}, tags = {Ruby, Ruby on Rails, query language, XML, Stratego, language design, static analysis, WebDSL, domain analysis, compiler, rule-based, web applications}, researchr = {http://researchr.org/publication/HemelGKV-JSC-2010}, journal = {Journal of Symbolic Computation}, } @article{GroenewegenHV-IEEESW-2010, title = {Separation of Concerns and Linguistic Integration in WebDSL}, author = {Danny M. Groenewegen and Zef Hemel and Eelco Visser}, year = {2010}, doi = {http://dx.doi.org/10.1109/MS.2010.92}, tags = {separation of concerns}, researchr = {http://researchr.org/publication/GroenewegenHV-IEEESW-2010}, journal = {IEEE Software}, } @article{HemelKGV-2010, title = {Code generation by model transformation: a case study in transformation modularity}, author = {Zef Hemel and Lennart C. L. Kats and Danny M. Groenewegen and Eelco Visser}, year = {2010}, month = {June}, doi = {http://dx.doi.org/10.1007/s10270-009-0136-1}, tags = {program transformation, separation of concerns, software language engineering, software engineering, code generation, WebDSL, domain analysis, transformation engineering, architecture, DSL, transformation, Stratego, Stratego/XT, case study, model transformation, software architecture, program analysis, model-driven engineering}, researchr = {http://researchr.org/publication/HemelKGV-2010}, journal = {Software and Systems Modeling}, volume = {9}, number = {3}, pages = {375-402}, } @inproceedings{KlintV94, title = {Using Filters for the Disambiguation of Context-free Grammars}, author = {Klint, Paul and Visser, Eelco}, year = {1994}, month = {October}, tags = {case study, grammar, parsing, disambiguation}, researchr = {http://researchr.org/publication/KlintV94}, pages = {1-20}, booktitle = {Proc. ASMICS Workshop on Parsing Theory}, address = {Milano, Italy}, publisher = {Tech. Rep. 126--1994, Dipartimento di Scienze dell'Informazione, Universit\`a di Milano}, } @phdthesis{Vis97.thesis, title = {Syntax Definition for Language Prototyping}, author = {Visser, Eelco}, year = {1997}, month = {September}, tags = {scannerless parsing, testing, syntax definition, algebraic specification, SDF, language design, parsing, rewriting, ASF+SDF, SGLR, syntax definition formalism, disambiguation}, researchr = {http://researchr.org/publication/Vis97.thesis}, school = {University of Amsterdam}, advisor = {Paul Klint}, } @inproceedings{KatsJNV09, title = {Providing rapid feedback in generated modular language environments: adding error recovery to scannerless generalized-LR parsing}, author = {Lennart C. L. Kats and Maartje de Jonge and Emma Nilsson-Nyman and Eelco Visser}, year = {2009}, doi = {http://doi.acm.org/10.1145/1640089.1640122}, tags = {scannerless parsing, parsing}, researchr = {http://researchr.org/publication/KatsJNV09}, pages = {445-464}, booktitle = {Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA}, editor = {Shail Arora and Gary T. Leavens}, publisher = {ACM}, isbn = {978-1-60558-766-0}, } @inproceedings{BravenboerV08, title = {Parse Table Composition}, author = {Martin Bravenboer and Eelco Visser}, year = {2009}, doi = {http://dx.doi.org/10.1007/978-3-642-00434-6_6}, tags = {programming languages, language composition, syntax definition, SDF, programming, grammar, deployment, parsing, compiler, parse table composition, extensible language}, researchr = {http://researchr.org/publication/BravenboerV08}, pages = {74-94}, booktitle = {Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers}, editor = {Dragan Gasevic and Ralf Lämmel and Eric Van Wyk}, volume = {5452}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00433-9}, } @article{JohannV01, title = {Fusing Logic and Control with Local Transformations: An Example Optimization}, author = {Patricia Johann and Eelco Visser}, year = {2001}, doi = {http://www.elsevier.nl/locate/entcs/volume57.html}, tags = {program transformation, separation of concerns, innermost rewriting, logic programming, generic programming, transformation, Stratego, Stratego/XT, program optimization, programming, term rewriting, logic, rewriting, rewriting strategies}, researchr = {http://researchr.org/publication/JohannV01}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {57}, } @inproceedings{KatsBV08, title = {Mixing source and bytecode: a case for compilation by normalization}, author = {Lennart C. L. Kats and Martin Bravenboer and Eelco Visser}, year = {2008}, doi = {http://doi.acm.org/10.1145/1449764.1449772}, tags = {Stratego, constraints, Stratego/XT, JavaFront, compiler, Dryad, Java, compilation by normalization, extensible language}, researchr = {http://researchr.org/publication/KatsBV08}, pages = {91-108}, booktitle = {Proceedings of the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-23, 2008, Nashville, TN, USA}, editor = {Gail E. Harris}, publisher = {ACM}, isbn = {978-1-60558-215-3}, } @inproceedings{LammelVV03, title = {Strategic programming meets adaptive programming}, year = {2003}, doi = {http://doi.acm.org/10.1145/643603.643621}, tags = {strategies, separation of concerns, adaptive programming, strategic programming, programming, aspect oriented programming, rewriting strategies, generic programming}, researchr = {http://researchr.org/publication/LammelVV03}, pages = {168-177}, booktitle = {AOSD}, } @inproceedings{GroenewegenV-SLE-2009, title = {Integration of Data Validation and User Interface Concerns in a {DSL} for Web Applications}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2010}, doi = {http://dx.doi.org/10.1007/978-3-642-12107-4}, tags = {DSL, modeling, code generation, language modeling, semantics, constraints, WebDSL, data validation, modeling language, web applications, domain-specific language, web engineering}, researchr = {http://researchr.org/publication/GroenewegenV-SLE-2009}, pages = {164-173}, booktitle = {Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers}, editor = {Mark van den Brand and Dragan Gasevic and Jeff Gray}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, } @article{GroenewegenVisser-SOSYM-2010, title = {Integration of Data Validation and User Interface Concerns in a DSL for Web Applications}, author = {Danny Groenewegen and Eelco Visser}, year = {2010}, note = {(to appear)}, tags = {syntax definition, code generation, language modeling, semantics, constraints, WebDSL, data validation, modeling language, web applications}, researchr = {http://researchr.org/publication/GroenewegenVisser-SOSYM-2010}, journal = {Software and Systems Modeling}, } @article{VisserB98, title = {A core language for rewriting}, author = {Eelco Visser and Zine-El-Abidine Benaissa}, year = {1998}, doi = {http://dx.doi.org/10.1016/S1571-0661(05)80027-1}, tags = {rewriting, term rewriting, ASF+SDF, rewriting strategies}, researchr = {http://researchr.org/publication/VisserB98}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {15}, } @inproceedings{HemelVV08, title = {{WebWorkFlow}: An Object-Oriented Workflow Modeling Language for Web Applications}, author = {Zef Hemel and Ruben Verhaaf and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1007/978-3-540-87875-9_8}, tags = {process modeling, DSL, modeling, language modeling, WebDSL, WebWorkFlow, modeling language, web applications, workflow patterns, workflow, web engineering}, researchr = {http://researchr.org/publication/HemelVV08}, pages = {113-127}, booktitle = {Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings}, editor = {Krzysztof Czarnecki and Ileana Ober and Jean-Michel Bruel and Axel Uhl and Markus Völter}, volume = {5301}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-87874-2}, } @article{KallebergV08, title = {Fusing a Transformation Language with an Open Compiler}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1016/j.entcs.2008.03.042}, tags = {program transformation, Spoofax, transformation language, abstract syntax, transformation system, compiler, Java, type system, Eclipse, transformation, Stratego, Eclipse Java Compiler, Stratego/XT, open compiler, logic, program analysis, reuse}, researchr = {http://researchr.org/publication/KallebergV08}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {21-36}, } @inproceedings{Visser01, title = {Stratego: A Language for Program Transformation Based on Rewriting Strategies}, author = {Eelco Visser}, year = {2001}, doi = {http://link.springer.de/link/service/series/0558/bibs/2051/20510357.htm}, tags = {program transformation, software language engineering, software engineering, transformation system, compiler, migration, refactoring, transformation, Stratego, Stratego/XT, program optimization, term rewriting, rewriting, rewriting strategies}, researchr = {http://researchr.org/publication/Visser01}, pages = {357-362}, booktitle = {Rewriting Techniques and Applications, 12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22-24, 2001, Proceedings}, editor = {Aart Middeldorp}, volume = {2051}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-42117-3}, } @article{Visser01a, title = {Scoped Dynamic Rewrite Rules}, author = {Eelco Visser}, year = {2001}, doi = {http://www.elsevier.nl/locate/entcs/volume59.html}, tags = {program transformation, transformation, Stratego, Stratego/XT, dynamic rewrite rules, rewriting, term rewriting, access control, rewriting strategies}, researchr = {http://researchr.org/publication/Visser01a}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {59}, number = {4}, } @inproceedings{1238040, title = {Turning dynamic typing into static typing by program specialization in a compiler front-end for Octave}, author = {Olmos, K. and Visser, E.}, year = {2003}, month = {Sept.}, tags = {compiler}, researchr = {http://researchr.org/publication/1238040}, booktitle = {Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on}, } @techreport{Vis97.cc, title = {Character Classes}, author = {Visser, Eelco}, year = {1997}, month = {August}, tags = {syntax definition, algebraic specification, SDF, rewriting, character class, term rewriting}, researchr = {http://researchr.org/publication/Vis97.cc}, institution = {Programming Research Group, University of Amsterdam}, number = {P9708}, } @techreport{Visser2010, title = {Performing Systematic Literature Reviews with Researchr: Tool Demonstration}, author = {Eelco Visser}, year = {2010}, month = {May}, doi = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2010-10.pdf}, tags = {systematic review, digital library, workflow}, researchr = {http://researchr.org/publication/Visser2010}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2010-010}, address = {Delft, The Netherlands}, } @article{Visser98, title = {Polymorphic Syntax Definition}, author = {Eelco Visser}, year = {1998}, doi = {http://dx.doi.org/10.1016/S0304-3975(97)00268-5}, tags = {syntax definition, algebra, algebraic specification, abstract syntax, signature, grammar, parsing}, researchr = {http://researchr.org/publication/Visser98}, journal = {Theoretical Computer Science}, volume = {199}, number = {1-2}, pages = {57-86}, } @article{Visser05, title = {A survey of strategies in rule-based program transformation systems}, author = {Eelco Visser}, year = {2005}, doi = {http://dx.doi.org/10.1016/j.jsc.2004.12.011}, tags = {program transformation, context-sensitive transformation, program representation, pattern matching, transformation system, program transformation system, parsing, tree parsing, congruence operators, strategy annotations, strategy combinators, generic traversal strategies, transformation, rule-based program transformation, attribute grammars, transformation strategy, rewriting, transformation strategies, term rewriting, survey, rule-based, rewriting strategies, tree traversal}, researchr = {http://researchr.org/publication/Visser05}, journal = {Journal of Symbolic Computation}, volume = {40}, number = {1}, pages = {831-873}, } @inproceedings{BrandDHJJKKMOSVVV01, title = {The {ASF+SDF} Meta-environment: A Component-Based Language Development Environment}, author = {Mark van den Brand and Arie van Deursen and Jan Heering and H. A. de Jong and Merijn de Jonge and Tobias Kuipers and Paul Klint and Leon Moonen and Pieter A. Olivier and Jeroen Scheerder and Jurgen J. Vinju and Eelco Visser and Joost Visser}, year = {2001}, doi = {http://link.springer.de/link/service/series/0558/bibs/2027/20270365.htm}, tags = {DSL, SDF, Cobol, Meta-Environment, metaprogramming, ASF+SDF, architecture}, researchr = {http://researchr.org/publication/BrandDHJJKKMOSVVV01}, pages = {365-370}, booktitle = {Compiler Construction, 10th International Conference, CC 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2-6, 2001, Proceedings}, editor = {Reinhard Wilhelm}, volume = {2027}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-41861-X}, } @article{JohannV00, title = {Warm fusion in {Stratego}: A case study in generation of program transformation systems}, author = {Patricia Johann and Eelco Visser}, year = {2000}, doi = {http://dx.doi.org/10.1023/A:1018956702672}, tags = {program transformation, deforestation, language design, code generation, transformation system, Haskell, transformation, Stratego, Stratego/XT, program optimization, case study, little language, warm fusion, rewriting strategies, extensible language}, researchr = {http://researchr.org/publication/JohannV00}, journal = {Annals of Mathematics and Artificial Intelligence}, volume = {29}, number = {1-4}, pages = {1-34}, } @inproceedings{BravenboerVVV05, title = {Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax}, author = {Martin Bravenboer and Rob Vermaas and Jurgen J. Vinju and Eelco Visser}, year = {2005}, doi = {http://dx.doi.org/10.1007/11561347_12}, tags = {AspectJ, syntax definition, meta programming, concrete syntax, parsing, Java, disambiguation, programming languages, scannerless parsing, SDF, programming, concrete object syntax, reuse}, researchr = {http://researchr.org/publication/BravenboerVVV05}, pages = {157-172}, booktitle = {Generative Programming and Component Engineering, 4th International Conference, GPCE 2005}, editor = {Robert Glück and Michael R. Lowry}, volume = {3676}, series = {Lecture Notes in Computer Science}, address = {Tallinn, Estonia}, publisher = {Springer}, isbn = {3-540-29138-5}, } @misc{Visser:2009, title = {researchr.org}, author = {Eelco Visser}, year = {2009}, doi = {http://researchr.org}, note = {Researchr is a web service for indexing, managing, and sharing bibliographic information of scientific publications for researchers by researchers.}, tags = {researchr, web service, digital library, software}, researchr = {http://researchr.org/publication/Visser%3A2009}, howpublished = {http://researchr.org}, } @inproceedings{HemelKV08, title = {Code Generation by Model Transformation}, author = {Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, doi = {http://dx.doi.org/10.1007/978-3-540-69927-9_13}, tags = {syntax definition, code generation, WebDSL, meta programming, concrete syntax, web engineering, DSL, transformation, Stratego, case study, concrete object syntax, model transformation, web applications}, researchr = {http://researchr.org/publication/HemelKV08}, pages = {183-198}, booktitle = {Theory and Practice of Model Transformations, First International Conference, ICMT 2008, Zürich, Switzerland, July 1-2, 2008, Proceedings}, editor = {Antonio Vallecillo and Jeff Gray and Alfonso Pierantonio}, volume = {5063}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69926-2}, } @inproceedings{BravenboerGV06, title = {{MetaBorg} in Action: Examples of Domain-Specific Language Embedding and Assimilation Using {Stratego/XT}}, author = {Martin Bravenboer and René de Groot and Eelco Visser}, year = {2006}, doi = {http://dx.doi.org/10.1007/11877028_10}, tags = {program transformation, language composition, generative programming, language embedding, language engineering, Java, assimilation, generic programming, programming languages, DSL, transformation, Stratego, abstraction, Stratego/XT, programming, MetaBorg, domain-specific language embedding}, researchr = {http://researchr.org/publication/BravenboerGV06}, pages = {297-311}, booktitle = {Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers}, editor = {Ralf Lämmel and João Saraiva and Joost Visser}, volume = {4143}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-45778-X}, } @article{BravenboerDOV06, title = {Program Transformation with Scoped Dynamic Rewrite Rules}, author = {Martin Bravenboer and Arthur van Dam and Karina Olmos and Eelco Visser}, year = {2006}, doi = {http://iospress.metapress.com/openurl.asp?genre=article&issn=0169-2968&volume=69&issue=1&spage=123}, tags = {program transformation, transformation, Stratego, language design, semantics, Stratego/XT, dynamic rewrite rules, rewriting, operational semantics, term rewriting, access control, rewriting strategies}, researchr = {http://researchr.org/publication/BravenboerDOV06}, journal = {Fundamenta Informaticae}, volume = {69}, number = {1-2}, pages = {123-178}, } @article{10.1109-SCAM.2005.26, title = {Transformations for Abstractions}, author = {Eelco Visser}, year = {2005}, doi = {http://doi.ieeecomputersociety.org/10.1109/SCAM.2005.26}, researchr = {http://researchr.org/publication/10.1109-SCAM.2005.26}, journal = {Source Code Analysis and Manipulation, IEEE International Workshop on}, volume = {0}, } @inproceedings{BravenboerV04, title = {Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions}, author = {Martin Bravenboer and Eelco Visser}, year = {2004}, doi = {http://doi.acm.org/10.1145/1028976.1029007}, tags = {program transformation, syntax definition, XML, code generation, concrete syntax, assimilation, SDF, transformation, Stratego, Stratego/XT, MetaBorg, concrete object syntax, reuse}, researchr = {http://researchr.org/publication/BravenboerV04}, pages = {365-383}, booktitle = {Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004}, editor = {John M. Vlissides and Douglas C. Schmidt}, address = {Vancouver, BC, Canada}, publisher = {ACM}, isbn = {1-58113-831-8}, } @proceedings{pepm:2007, title = {Proceedings of the 2007 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2007, Nice, France, January 15-16, 2007}, year = {2007}, tags = {semantics, partial evaluation}, researchr = {http://researchr.org/publication/pepm%3A2007}, booktitle = {Proceedings of the 2007 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2007, Nice, France, January 15-16, 2007}, conference = {PEPM}, editor = {G. Ramalingam and Eelco Visser}, publisher = {ACM}, isbn = {978-1-59593-620-2}, } @proceedings{gpce:2004, title = {Generative Programming and Component Engineering: Third International Conference, GPCE 2004, Vancouver, Canada, October 24-28, 2004. Proceedings}, year = {2004}, tags = {programming, generative programming}, researchr = {http://researchr.org/publication/gpce%3A2004}, booktitle = {Generative Programming and Component Engineering: Third International Conference, GPCE 2004, Vancouver, Canada, October 24-28, 2004. Proceedings}, conference = {GPCE}, editor = {Gabor Karsai and Eelco Visser}, volume = {3286}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-23580-9}, } @proceedings{rule:2002, title = {Proceedings of the 2002 ACM SIGPLAN Workshop on Rule-Based Programming, Pittsburgh, Pennsylvania, USA, 2002}, year = {2002}, tags = {programming, rule-based}, researchr = {http://researchr.org/publication/rule%3A2002}, booktitle = {Proceedings of the 2002 ACM SIGPLAN Workshop on Rule-Based Programming, Pittsburgh, Pennsylvania, USA, 2002}, conference = {RULE}, editor = {Bernd Fischer and Eelco Visser}, publisher = {ACM}, isbn = {1-58113-606-4}, }