% Bibliography downloaded from https://researchr.org/downloadbibtex/bibliography/language-workbenches @inproceedings{BrandDHJ01, title = {The {ASF+SDF} Meta-environment: A Component-Based Language Development Environment}, author = {Mark G. J. 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 = {10.1016/S1571-0661(04)80917-4}, url = {https://doi.org/10.1016/S1571-0661(04)80917-4}, tags = {programming languages, rule-based, meta programming, SDF, meta-model, architecture, model-driven development, source-to-source, DSL, metaprogramming, Meta-Environment, Cobol, ASF+SDF, open-source, meta-objects}, researchr = {https://researchr.org/publication/BrandDHJ01}, cites = {0}, citedby = {3}, 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{AhoJU75, title = {Deterministic Parsing of Ambiguous Grammars}, author = {Alfred V. Aho and Stephen C. Johnson and Jeffrey D. Ullman}, year = {1975}, doi = {10.1145/360933.360969}, url = {http://doi.acm.org/10.1145/360933.360969}, tags = {programming languages, rule-based, rules, C++, programming, context-aware, parsing, grammar}, researchr = {https://researchr.org/publication/AhoJU75}, cites = {0}, citedby = {1}, journal = {Communications of the ACM}, volume = {18}, number = {8}, pages = {441-452}, } @inproceedings{KatsKV08, 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 = {rule-based, Eclipse, syntax definition, completeness, SDF, SQL, C++, code generation, abstraction, Spoofax, Meta-Environment, parsing, scannerless parsing, extensible language, ASF+SDF, SGLR, query language, domain-specific language}, researchr = {https://researchr.org/publication/KatsKV08}, cites = {0}, citedby = {1}, booktitle = {Proceedings of the Eight Workshop on Language Descriptions, Tools, and Applications}, editor = {Jurgen J. Vinju and Adrian Johnstone}, volume = {238}, number = {5}, series = {Electronic Notes in Theoretical Computer Science }, publisher = {Elsevier}, } @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 = {10.1145/1640089.1640122}, url = {http://doi.acm.org/10.1145/1640089.1640122}, tags = {parsing algorithm, semantics, rule-based, Java, SDF, composition, analysis, principles, C++, code generation, context-aware, Meta-Environment, parsing, scannerless parsing, systematic-approach, island grammars, ASF+SDF, grammar, Stratego}, researchr = {https://researchr.org/publication/KatsJNV09}, cites = {0}, citedby = {1}, pages = {445-464}, booktitle = {Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009}, editor = {Shail Arora and Gary T. Leavens}, publisher = {ACM}, isbn = {978-1-60558-766-0}, } @inproceedings{Visser07, title = {{WebDSL}: {A} Case Study in Domain-Specific Language Engineering}, author = {Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-88643-3_7}, url = {http://dx.doi.org/10.1007/978-3-540-88643-3_7}, tags = {WebDSL, reusable components, DSL engineering, web application development, data-flow language, pattern language, case study, software components, SDF, meta-model, abstract syntax, modeling language, Stratego/XT, language engineering, software language engineering, language modeling, software component, web engineering, language design, reuse, model-driven development, data-flow, survey, software engineering, model-driven engineering, web applications, DSL, Meta-Environment, incremental, design, process modeling, systematic-approach, ASF+SDF, language, Stratego, domain-specific language}, researchr = {https://researchr.org/publication/Visser07}, cites = {0}, citedby = {9}, pages = {291-373}, booktitle = {Generative and Transformational Techniques in Software Engineering II, International Summer School, {GTTSE} 2007}, editor = {Ralf Lämmel and Joost Visser and João Saraiva}, volume = {5235}, series = {Lecture Notes in Computer Science}, address = {Braga, Portugal}, publisher = {Springer}, isbn = {978-3-540-88642-6}, } @article{ward94languageoriented, title = {Language-Oriented Programming}, author = {Martin P. Ward}, year = {1994}, url = {http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf}, tags = {programming languages, object-oriented programming, program analysis, meta programming, language-oriented programming, meta-model, interpreter, reverse engineering, modeling language, language engineering, software language engineering, language modeling, LOP, domain analysis, analysis, language design, reuse, model-driven development, maintenance, software engineering, model-driven engineering, object-role modeling, compiler, programming, subject-oriented programming, Meta-Environment, process modeling, systematic-approach, feature-oriented programming, domain-specific language}, researchr = {https://researchr.org/publication/ward94languageoriented}, cites = {0}, citedby = {0}, journal = {Software --- Concepts and Tools}, volume = {15}, number = {4}, } @article{Klint93, title = {A Meta-Environment for Generating Programming Environments}, author = {Paul Klint}, year = {1993}, doi = {10.1145/151257.151260}, url = {http://doi.acm.org/10.1145/151257.151260}, tags = {programming languages, rule-based, translation, syntax definition, meta programming, SDF, meta-model, functional programming, design research, language design, model-driven development, programming, Meta-Environment, incremental, design, ASF+SDF, meta-objects}, researchr = {https://researchr.org/publication/Klint93}, cites = {33}, citedby = {40}, journal = {ACM Transactions on Software Engineering Methodology}, volume = {2}, number = {2}, pages = {176-201}, } @inproceedings{GronnigerKRSV08, title = {MontiCore: a framework for the development of textual domain specific languages}, author = {Hans Gr{\"o}nniger and Holger Krahn and Bernhard Rumpe and Martin Schindler and Steven V{\"o}lkel}, year = {2008}, doi = {10.1145/1370175.1370190}, url = {http://doi.acm.org/10.1145/1370175.1370190}, tags = {rule-based, syntax definition, abstract syntax, code generation, systematic-approach, concrete syntax, grammar, domain-specific language}, researchr = {https://researchr.org/publication/GronnigerKRSV08}, cites = {9}, citedby = {0}, pages = {925-926}, booktitle = {30th International Conference on Software Engineering (ICSE 2008), Companion Volume}, editor = {Wilhelm Sch{\"a}fer and Matthew B. Dwyer and Volker Gruhn}, address = {Leipzig, Germany}, publisher = {ACM}, isbn = {978-1-60558-079-1}, } @misc{Fowler2004, title = {Language Workbenches: The Killer-App for Domain Specific Languages?}, author = {Martin Fowler}, year = {2005}, url = {http://www.martinfowler.com/articles/languageWorkbench.html}, tags = {programming languages, workbench, object-oriented programming, meta programming, language-oriented programming, meta-model, LOP, model-driven development, programming, subject-oriented programming, language workbench, Meta-Environment, systematic-approach, feature-oriented programming, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/Fowler2004}, cites = {0}, citedby = {3}, } @inproceedings{VoelterSolomatov2010, title = {Language Modularization and Composition with Projectional Language Workbenches illustrated with {MPS}}, author = {Markus Völter and Konstantin Solomatov}, year = {2010}, doi = {10.1007/978-3-642-35992-7_11}, url = {https://doi.org/10.1007/978-3-642-35992-7_11}, tags = {Domain-specific languages, workbench, modular languages, rule-based, projectional editing, composition, source-to-source, language workbench, language composition, Cobol, parsing, systematic-approach, open-source, grammar, domain-specific language}, researchr = {https://researchr.org/publication/VoelterSolomatov2010}, cites = {0}, citedby = {0}, pages = {383-430}, booktitle = {Software Language Engineering, Third International Conference, SLE 2010}, editor = {Mark G. J. van den Brand and Brian Malloy and Steffen Staab}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, } @article{KallebergV08, title = {Fusing a Transformation Language with an Open Compiler}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2008}, doi = {10.1016/j.entcs.2008.03.042}, url = {http://dx.doi.org/10.1016/j.entcs.2008.03.042}, tags = {programming languages, model-to-model transformation, object-oriented programming, rule-based, Java, program analysis, Eclipse, completeness, data-flow language, graph transformation, interpreter, abstract syntax, Stratego/XT, transformation language, term rewriting, functional programming, Eclipse Java Compiler, points-to analysis, domain analysis, analysis, type system, reuse, data-flow programming, data-flow, source-to-source, graph-rewriting, logic programming, transformation system, compiler, model transformation, open compiler, subject-oriented programming, context-aware, logic, Spoofax, rewriting logic, rewriting, data-flow analysis, parsing, feature-oriented programming, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/KallebergV08}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {21-36}, } @inproceedings{KrahnRV08, title = {MontiCore: Modular Development of Textual Domain Specific Languages}, author = {Holger Krahn and Bernhard Rumpe and Steven Völkel}, year = {2008}, doi = {10.1007/978-3-540-69824-1_17}, url = {http://dx.doi.org/10.1007/978-3-540-69824-1_17}, tags = {parsing algorithm, rule-based, traversal, language engineering, composition, language design, principles, reuse, DSL, context-aware, Meta-Environment, parsing, design, meta-objects, grammar, domain-specific language}, researchr = {https://researchr.org/publication/KrahnRV08}, cites = {35}, citedby = {3}, pages = {297-315}, booktitle = {Objects, Components, Models and Patterns, 46th International Conference, TOOLS EUROPE 2008}, editor = {Richard F. Paige and Bertrand Meyer}, volume = {11}, series = {Lecture Notes in Business Information Processing}, publisher = {Springer}, isbn = {978-3-540-69823-4}, } @inproceedings{VermolenV08, title = {Heterogeneous Coupled Evolution of Software Languages}, author = {Sander Vermolen and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-87875-9_44}, url = {http://dx.doi.org/10.1007/978-3-540-87875-9_44}, tags = {model-to-model transformation, software architecture, coupled, data-flow language, meta-model, XML, evolution, modeling language, heterogeneous, XML Schema, languages, modeling, transformation language, coupled evolution, architecture, language modeling, model, data-flow, software evolution, format evolution, source-to-source, model transformation, database, abstraction, software languages, Meta-Environment, systematic-approach, meta-objects, transformation, grammar, domain-specific language}, researchr = {https://researchr.org/publication/VermolenV08}, cites = {0}, citedby = {3}, 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{BravenboerDOV06, title = {Program Transformation with Scoped Dynamic Rewrite Rules}, author = {Martin Bravenboer and Arthur van Dam and Karina Olmos and Eelco Visser}, year = {2006}, url = {https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06}, tags = {programming languages, semantics, rule-based, formal semantics, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, language design, graph-rewriting, rules, operational semantics, context-aware, access control, rewriting, design, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerDOV06}, cites = {0}, citedby = {4}, journal = {Fundamenta Informaticae}, volume = {69}, number = {1-2}, pages = {123-178}, } @inproceedings{BravenboerV08, title = {Parse Table Composition}, author = {Martin Bravenboer and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-00434-6_6}, url = {http://dx.doi.org/10.1007/978-3-642-00434-6_6}, tags = {parsing algorithm, programming languages, deployment, syntax definition, SDF, composition, source-to-source, parse table composition, compiler, programming, language composition, parsing, extensible language, ASF+SDF, open-source, grammar, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV08}, cites = {0}, citedby = {0}, 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}, } @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 = {10.1145/1449764.1449772}, url = {http://doi.acm.org/10.1145/1449764.1449772}, tags = {compilation by normalization, rule-based, Java, synchronization, translation, meta-model, modeling language, Stratego/XT, language modeling, composition, constraints, source-to-source, C++, Dryad, security, compiler, Meta-Environment, extensible language, systematic-approach, open-source, Stratego, JavaFront, domain-specific language}, researchr = {https://researchr.org/publication/KatsBV08}, cites = {44}, citedby = {3}, 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{Visser95, title = {A Family of Syntax Definition Formalisms}, author = {Eelco Visser}, year = {1995}, month = {May}, tags = {syntax definition, SDF, lexical syntax, syntax definition formalism, abstract syntax, disambiguation, algebraic specification, algebra, context-aware, parsing, design, ASF+SDF}, researchr = {https://researchr.org/publication/Visser95}, cites = {0}, citedby = {0}, booktitle = {{ASF+SDF 1995}. A Workshop on Generating Tools from Algebraic Specifications}, editor = {Mark G. J. van den Brand and Vania Vieira Estrela}, publisher = {Technical Report P9504, Programming Research Group, University of Amsterdam}, } @inproceedings{VisserBT98, title = {Building Program Optimizers with Rewriting Strategies}, author = {Eelco Visser and Zine-El-Abidine Benaissa and Andrew P. Tolmach}, year = {1998}, doi = {10.1145/289423.289425}, url = {http://doi.acm.org/10.1145/289423.289425}, tags = {programming languages, optimization, semantics, rule-based, meta programming, graph transformation, variable binding, Stratego/XT, transformation language, term rewriting, composition, graph-rewriting, rules, C++, program optimization, Meta-Environment, higher-order transformations, rewriting, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/VisserBT98}, cites = {0}, citedby = {5}, 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{Visser02, title = {Meta-programming with Concrete Object Syntax}, author = {Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45821-2_19}, url = {https://doi.org/10.1007/3-540-45821-2_19}, tags = {programming languages, model-to-model transformation, object-oriented programming, concrete object syntax, syntax definition, meta programming, case study, SDF, meta-model, abstract syntax, Stratego/XT, transformation language, source-to-source, model transformation, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser02}, cites = {23}, citedby = {6}, 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{BravenboerV04, title = {Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions}, author = {Martin Bravenboer and Eelco Visser}, year = {2004}, doi = {10.1145/1028976.1029007}, url = {http://doi.acm.org/10.1145/1028976.1029007}, tags = {programming languages, object-oriented programming, concrete object syntax, syntax definition, meta programming, assimilation, SDF, XML, XML Schema, Stratego/XT, transformation language, composition, MetaBorg, language design, reuse, code generation, subject-oriented programming, abstraction, Meta-Environment, extensible language, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV04}, cites = {51}, citedby = {8}, 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{eysholdt2010xtext, title = {{Xtext}: implement your language faster than the quick and dirty way}, author = {M. Eysholdt and H. Behrens}, year = {2010}, tags = {rule-based, Java, interpreter, abstract syntax, EMF, code generation, compiler, parsing, incremental, grammar, domain-specific language}, researchr = {https://researchr.org/publication/eysholdt2010xtext}, cites = {0}, citedby = {0}, pages = {307-309}, booktitle = {Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion}, organization = {ACM}, } @inproceedings{HeidenreichJKSW09, title = {Derivation and Refinement of Textual Syntax for Models}, author = {Florian Heidenreich and Jendrik Johannes and Sven Karol and Mirko Seifert and Christian Wende}, year = {2009}, doi = {10.1007/978-3-642-02674-4_9}, url = {http://dx.doi.org/10.1007/978-3-642-02674-4_9}, tags = {rule-based, Eclipse, model editor, meta-model, modeling language, modeling, refinement, language engineering, software language engineering, language modeling, language design, metamodelling, EMF, model-driven development, software engineering, model-driven engineering, Meta-Environment, emftext, design, systematic-approach, concrete syntax, textual concrete syntax}, researchr = {https://researchr.org/publication/HeidenreichJKSW09}, cites = {0}, citedby = {1}, pages = {114-129}, booktitle = {Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings}, editor = {Richard F. Paige and Alan Hartman and Arend Rensink}, volume = {5562}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-02673-7}, } @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 = {10.1007/978-3-642-00722-4_11}, url = {http://dx.doi.org/10.1007/978-3-642-00722-4_11}, tags = {programming languages, rule-based, attribute grammars, program analysis, etaps, data-flow language, pattern language, generic programming, Stratego/XT, traversal, analysis, data-flow programming, data-flow, graph-rewriting, rules, C++, strategic programming, programming, rewriting, data-flow analysis, Aster, grammar, Stratego}, researchr = {https://researchr.org/publication/KatsSV09}, cites = {36}, citedby = {1}, 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}, }