% Bibliography downloaded from https://researchr.org/downloadbibtex/bibliography/metaborg-spoofax/compact @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 = {CC}, } @inproceedings{BrandSVV02, title = {Disambiguation Filters for Scannerless Generalized {LR} Parsers}, author = {Mark G. J. van den Brand and Jeroen Scheerder and Jurgen J. Vinju and Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45937-5_12}, url = {https://doi.org/10.1007/3-540-45937-5_12}, tags = {GLR parsing, syntax definition, SDF, lexical syntax, scannerless, disambiguation, GLR, context-aware, parsing, scannerless parsing, ASF+SDF, SGLR, grammar}, researchr = {https://researchr.org/publication/BrandSVV02}, cites = {0}, citedby = {4}, pages = {143-158}, booktitle = {CC}, } @inproceedings{SmitsKV19, title = {From Whole Program Compilation to Incremental Compilation: A Critical Case}, author = {Jeff Smits and Gabriël Konat and Eelco Visser}, year = {2019}, month = {10}, researchr = {https://researchr.org/publication/SmitsKV19}, cites = {0}, citedby = {0}, booktitle = {Second Workshop on Incremental Computing (IC 2019)}, } @inproceedings{PelsmaekerAV19-SPLASH, title = {Towards language-parametric semantic editor services based on declarative type system specifications}, author = {Daniël A. A. Pelsmaeker and Hendrik van Antwerpen and Eelco Visser}, year = {2019}, doi = {10.1145/3359061.3362782}, url = {https://doi.org/10.1145/3359061.3362782}, researchr = {https://researchr.org/publication/PelsmaekerAV19-SPLASH}, cites = {0}, citedby = {0}, pages = {19-20}, booktitle = {OOPSLA}, } @inproceedings{PelsmaekerAV19, title = {Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications (Brave New Idea Paper)}, author = {Daniël A. A. Pelsmaeker and Hendrik van Antwerpen and Eelco Visser}, year = {2019}, doi = {10.4230/LIPIcs.ECOOP.2019.26}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2019.26}, researchr = {https://researchr.org/publication/PelsmaekerAV19}, cites = {0}, citedby = {0}, booktitle = {ECOOP}, } @inproceedings{KatsV10scam, 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}, doi = {10.1109/SCAM.2010.11}, url = {http://dx.doi.org/10.1109/SCAM.2010.11}, tags = {programming languages, object-oriented programming, case study, C++, logic programming, aspect oriented programming, programming, subject-oriented programming, logic, feature-oriented programming}, researchr = {https://researchr.org/publication/KatsV10scam}, cites = {0}, citedby = {0}, pages = {147-156}, booktitle = {SCAM}, } @inproceedings{HemelV09, title = {{PIL}: A Platform Independent Language for Retargetable {DSLs}}, author = {Zef Hemel and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-12107-4_17}, url = {http://dx.doi.org/10.1007/978-3-642-12107-4_17}, tags = {DSL}, researchr = {https://researchr.org/publication/HemelV09}, cites = {0}, citedby = {1}, pages = {224-243}, booktitle = {SLE}, } @article{BrandJKO00, title = {Efficient annotated terms}, author = {Mark G. J. van den Brand and H. A. de Jong and Paul Klint and Pieter A. Olivier}, year = {2000}, doi = {10.1002/(SICI)1097-024X(200003)30:3\%3C259::AID-SPE298\%3E3.0.CO;2-Y}, url = {https://doi.org/10.1002/(SICI)1097-024X(200003)30:3\%3C259::AID-SPE298\%3E3.0.CO;2-Y}, tags = {rule-based, Java, parsing}, researchr = {https://researchr.org/publication/BrandJKO00}, cites = {0}, citedby = {1}, journal = {SPE}, volume = {30}, number = {3}, pages = {259-291}, } @inproceedings{KonatEV16-LIVE, title = {Towards Live Language Development}, author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/KonatEV16-LIVE}, cites = {0}, citedby = {0}, booktitle = {Workshop on Live Programming Systems (LIVE)}, } @techreport{TUD-SERG-2017-011, title = {The Semantics of Name Resolution in Grace}, author = {Vlad Vergu and Michiel Haisma and Eelco Visser}, year = {2017}, doi = {10.1145/3170472.3133847}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2017-011.pdf}, note = {Available at \url{http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2017-011.pdf}}, researchr = {https://researchr.org/publication/TUD-SERG-2017-011}, cites = {0}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2017-011}, } @inproceedings{VisserOnward14, title = {A Language Designer's Workbench: A One-Stop-Shop for Implementation and Verification of Language Designs}, author = {Eelco Visser and Guido Wachsmuth and Andrew P. Tolmach and Pierre Néron and Vlad A. Vergu and Augusto Passalaqua and Gabriël Konat}, year = {2014}, doi = {10.1145/2661136.2661149}, url = {http://doi.acm.org/10.1145/2661136.2661149}, researchr = {https://researchr.org/publication/VisserOnward14}, cites = {0}, citedby = {0}, pages = {95-111}, booktitle = {OOPSLA}, } @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 = {10.1007/978-3-540-31985-6_14}, url = {https://doi.org/10.1007/978-3-540-31985-6_14}, tags = {programming languages, model-to-model transformation, optimization, rule-based, intermediate representation, program analysis, meta programming, data-flow language, graph transformation, meta-model, dynamic rewrite rules, modeling language, modeling, variable binding, Stratego/XT, model refactoring, refactoring, transformation language, language modeling, composition, dynamic rules, points-to analysis, domain analysis, dependent dynamic rewrite rules, analysis, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, rule-based refactoring, compiler, model transformation, programming, program optimization, Meta-Environment, rewriting, data-flow analysis, systematic-approach, rewriting strategies, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/OlmosV05}, cites = {0}, citedby = {0}, pages = {204-220}, booktitle = {CC}, } @techreport{TUD-SERG-2015-006, title = {Language-Independent Type-Dependent Name Resolution}, author = {Hendrik van Antwerpen and Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, month = {July}, researchr = {https://researchr.org/publication/TUD-SERG-2015-006}, cites = {0}, citedby = {0}, institution = {Delft University of Technology, Software Engineering Research Group}, number = {TUD-SERG-2015-006}, address = {Delft, The Netherlands}, } @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 = {10.1007/978-3-540-87875-9_8}, url = {http://dx.doi.org/10.1007/978-3-540-87875-9_8}, tags = {workflow patterns, model-to-model transformation, interaction design, WebDSL, transformation engineering, completeness, pattern language, meta-model, modeling language, modeling, language engineering, transformation language, language modeling, web engineering, language design, model-driven development, source-to-source, model-driven engineering, object-role modeling, model transformation, web applications, DSL, abstraction, Meta-Environment, workflow, process modeling, WebWorkFlow, meta-objects, transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelVV08}, cites = {0}, citedby = {6}, pages = {113-127}, booktitle = {MoDELS}, } @inproceedings{VolterV10, title = {Language extension and composition with language workbenches}, author = {Markus Völter and Eelco Visser}, year = {2010}, doi = {10.1145/1869542.1869623}, url = {http://doi.acm.org/10.1145/1869542.1869623}, tags = {workbench, composition, language workbench}, researchr = {https://researchr.org/publication/VolterV10}, cites = {0}, citedby = {0}, pages = {301-304}, booktitle = {OOPSLA}, } @article{HemelKGV10, 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}, doi = {10.1007/s10270-009-0136-1}, tags = {model-to-model transformation, case study, meta-model, source-to-source, C++, code generation, model transformation, Meta-Environment, transformation}, researchr = {https://researchr.org/publication/HemelKGV10}, cites = {0}, citedby = {0}, journal = {SoSyM}, volume = {9}, number = {3}, pages = {375-402}, } @mastersthesis{Vollebregt2012, title = {Declarative Specification of Template-Based Textual Editors}, author = {Tobi Vollebregt}, year = {2012}, month = {April}, url = {http://resolver.tudelft.nl/uuid:8907468c-b102-4a35-aa84-d49bb2110541}, tags = {workbench, rule-based, syntax definition, completeness, model editor, meta-model, modeling language, modeling, language modeling, language design, rules, migration, web applications, consistency, language workbench, Spoofax, Meta-Environment, parsing, domain-specific language}, researchr = {https://researchr.org/publication/Vollebregt2012}, cites = {0}, citedby = {0}, school = {Delft University of Technology}, address = {Delft, The Netherlands}, advisor = {Eelco Visser and Lennart C. L. Kats}, } @inproceedings{Klint89, title = {A Meta-Environment for Generating Programming Environments}, author = {Paul Klint}, year = {1989}, tags = {generative programming, meta programming, meta-model, programming, Meta-Environment, meta-objects}, researchr = {https://researchr.org/publication/Klint89}, cites = {0}, citedby = {0}, pages = {105-124}, booktitle = {am}, } @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 = {LDTA}, } @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 = {10.1016/j.entcs.2008.03.046}, url = {http://dx.doi.org/10.1016/j.entcs.2008.03.046}, tags = {programming languages, semantics, rule-based, syntax definition, YACC, precedence rule, SDF, Stratego/XT, language engineering, grammar engineering, PHP, rules, C++, migration, compiler, programming, operational semantics, priority, parsing, scannerless parsing, systematic-approach, ASF+SDF, grammar, Stratego}, researchr = {https://researchr.org/publication/BouwersBV08}, cites = {0}, citedby = {1}, journal = {ENTCS}, volume = {203}, number = {2}, pages = {85-101}, } @mastersthesis{VanAntwerpen2016, title = {A Constraint-based Approach to Name Binding and Type Checking using Scope Graphs}, author = {Hendrik van Antwerpen}, year = {2016}, month = {January}, url = {http://resolver.tudelft.nl/uuid:7a555c92-ee75-4e64-b58b-d8f09662f412}, note = {Available at \url{http://resolver.tudelft.nl/uuid:7a555c92-ee75-4e64-b58b-d8f09662f412}.}, researchr = {https://researchr.org/publication/VanAntwerpen2016}, cites = {0}, citedby = {0}, school = {Delft University of Technology}, advisor = {Eelco Visser}, } @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 = {GTTSE}, } @article{Visser01-DR, title = {Scoped Dynamic Rewrite Rules}, author = {Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00298-1}, url = {https://doi.org/10.1016/S1571-0661(04)00298-1}, tags = {programming languages, rule-based, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, graph-rewriting, rules, context-aware, access control, rewriting, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser01-DR}, cites = {0}, citedby = {0}, journal = {ENTCS}, volume = {59}, number = {4}, pages = {375-396}, } @article{GroenewegenHV10, title = {Separation of Concerns and Linguistic Integration in {WebDSL}}, author = {Danny M. Groenewegen and Zef Hemel and Eelco Visser}, year = {2010}, doi = {10.1109/MS.2010.92}, url = {http://dx.doi.org/10.1109/MS.2010.92}, tags = {WebDSL, separation of concerns}, researchr = {https://researchr.org/publication/GroenewegenHV10}, cites = {0}, citedby = {0}, journal = {IEEE Software}, volume = {27}, number = {5}, pages = {31-37}, } @inproceedings{SmitsV17, title = {{FlowSpec}: declarative dataflow analysis specification}, author = {Jeff Smits and Eelco Visser}, year = {2017}, doi = {10.1145/3136014.3136029}, url = {http://doi.acm.org/10.1145/3136014.3136029}, researchr = {https://researchr.org/publication/SmitsV17}, cites = {0}, citedby = {0}, pages = {221-231}, booktitle = {SLE}, } @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 = {10.1145/1449814.1449858}, url = {http://doi.acm.org/10.1145/1449814.1449858}, tags = {WebDSL, meta-model, modeling language, modeling, language engineering, language modeling, web engineering, model-driven engineering, C++, web applications, DSL, logic, abstraction, Meta-Environment, access control, workflow, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenHKV08}, cites = {0}, citedby = {0}, pages = {779-780}, booktitle = {OOPSLA}, } @inproceedings{HarkesGV16, title = {IceDust: Incremental and Eventual Computation of Derived Values in Persistent Object Graphs}, author = {Daco Harkes and Danny M. Groenewegen and Eelco Visser}, year = {2016}, doi = {10.4230/LIPIcs.ECOOP.2016.11}, url = {http://dx.doi.org/10.4230/LIPIcs.ECOOP.2016.11}, researchr = {https://researchr.org/publication/HarkesGV16}, cites = {0}, citedby = {0}, booktitle = {ECOOP}, } @inproceedings{NeronTVW15, title = {A Theory of Name Resolution}, author = {Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, doi = {10.1007/978-3-662-46669-8_9}, url = {http://dx.doi.org/10.1007/978-3-662-46669-8_9}, researchr = {https://researchr.org/publication/NeronTVW15}, cites = {0}, citedby = {0}, pages = {205-231}, booktitle = {ESOP}, } @inproceedings{JongeV12-LDTA, title = {A language generic solution for name binding preservation in refactorings}, author = {Maartje de Jonge and Eelco Visser}, year = {2012}, doi = {10.1145/2427048.2427050}, url = {http://doi.acm.org/10.1145/2427048.2427050}, researchr = {https://researchr.org/publication/JongeV12-LDTA}, cites = {0}, citedby = {0}, pages = {2}, booktitle = {LDTA}, } @inproceedings{BravenboerV02, title = {Rewriting Strategies for Instruction Selection}, author = {Martin Bravenboer and Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45610-4_17}, url = {https://doi.org/10.1007/3-540-45610-4_17}, tags = {programming languages, optimization, rule-based, graph transformation, Stratego/XT, instruction selection, transformation language, term rewriting, graph-rewriting, rules, programming paradigms, code generation, programming, program optimization, rewriting, compilers, compilation, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerV02}, cites = {0}, citedby = {0}, pages = {237-251}, booktitle = {RTA}, } @article{HemelGKV11, 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 = {2011}, doi = {10.1016/j.jsc.2010.08.006}, url = {https://doi.org/10.1016/j.jsc.2010.08.006}, tags = {model-to-model transformation, WebDSL, rule-based, application framework, model checking, XML, XML Schema, transformation language, points-to analysis, domain analysis, analysis, language design, static analysis, model-driven development, source-to-source, rules, C++, compiler, model transformation, web applications, consistency, abstraction, design, systematic-approach, open-source, transformation, Ruby on Rails, Stratego, Ruby, query language, domain-specific language}, researchr = {https://researchr.org/publication/HemelGKV11}, cites = {0}, citedby = {0}, journal = {JSC}, volume = {46}, number = {2}, pages = {150-182}, } @inproceedings{VerguV18, title = {Specializing a meta-interpreter: JIT compilation of {D}ynsem specifications on the {G}raal VM}, author = {Vlad A. Vergu and Eelco Visser}, year = {2018}, doi = {10.1145/3237009.3237018}, url = {https://doi.org/10.1145/3237009.3237018}, researchr = {https://researchr.org/publication/VerguV18}, cites = {0}, citedby = {0}, booktitle = {PPPJ}, } @article{SmitsKV20, title = {Constructing Hybrid Incremental Compilers for Cross-Module Extensibility with an Internal Build System}, author = {Jeff Smits and Gabriël Konat and Eelco Visser}, year = {2020}, doi = {10.22152/programming-journal.org/2020/4/16}, url = {https://doi.org/10.22152/programming-journal.org/2020/4/16}, researchr = {https://researchr.org/publication/SmitsKV20}, cites = {0}, citedby = {0}, journal = {Programming}, volume = {4}, number = {3}, pages = {16}, } @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 = {10.1007/978-3-642-12107-4_16}, url = {http://dx.doi.org/10.1007/978-3-642-12107-4_16}, tags = {semantics, rule-based, Java, Eclipse, rules, C++, search suggestions, context-aware, search, parsing, error recovery, systematic-approach, SGLR, grammar}, researchr = {https://researchr.org/publication/JongeNKV09}, cites = {0}, citedby = {0}, pages = {204-223}, booktitle = {SLE}, } @phdthesis{Amorim2019, title = {Declarative Syntax Definition for Modern Language Workbenches}, author = {Luis Eduardo de Souza Amorim}, year = {2019}, url = {https://www.base-search.net/Record/261b6c9463c1d4fe309e3c6104cd4d80fbc9d3cc8fbc66006f34130f481b506f}, note = {base-search.net (fttudelft:oai:tudelft.nl:uuid:43d7992a-7077-47ba-b38f-113f5011d07f)}, researchr = {https://researchr.org/publication/Amorim2019}, cites = {0}, citedby = {0}, school = {Delft University of Technology, Netherlands}, advisor = {Eelco Visser and Sebastian Erdweg}, } @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 = {ENTCS}, volume = {203}, number = {2}, pages = {21-36}, } @inproceedings{KonatEV16, title = {Bootstrapping Domain-Specific Meta-Languages in Language Workbenches}, author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser}, year = {2016}, doi = {10.1145/2993236.2993242}, url = {http://doi.acm.org/10.1145/2993236.2993242}, researchr = {https://researchr.org/publication/KonatEV16}, cites = {0}, citedby = {0}, pages = {47-58}, booktitle = {GPCE}, } @inproceedings{VerguNV15, title = {DynSem: A {DSL} for Dynamic Semantics Specification}, author = {Vlad A. Vergu and Pierre Néron and Eelco Visser}, year = {2015}, doi = {10.4230/LIPIcs.RTA.2015.365}, url = {http://dx.doi.org/10.4230/LIPIcs.RTA.2015.365}, researchr = {https://researchr.org/publication/VerguNV15}, cites = {0}, citedby = {0}, pages = {365-378}, booktitle = {RTA}, } @techreport{Visser97-CC, title = {Character Classes}, author = {Eelco Visser}, year = {1997}, month = {August}, tags = {syntax definition, SDF, term rewriting, character class, graph-rewriting, algebraic specification, algebra, rewriting, ASF+SDF}, researchr = {https://researchr.org/publication/Visser97-CC}, cites = {0}, citedby = {0}, institution = {Programming Research Group, University of Amsterdam}, number = {P9708}, } @inproceedings{KatsVV11a, title = {Testing domain-specific languages}, author = {Lennart C. L. Kats and Rob Vermaas and Eelco Visser}, year = {2011}, doi = {10.1145/2048147.2048160}, url = {http://doi.acm.org/10.1145/2048147.2048160}, researchr = {https://researchr.org/publication/KatsVV11a}, cites = {0}, citedby = {0}, pages = {25-26}, booktitle = {OOPSLA}, } @inproceedings{JongeV11, title = {An Algorithm for Layout Preservation in Refactoring Transformations}, author = {Maartje de Jonge and Eelco Visser}, year = {2011}, doi = {10.1007/978-3-642-28830-2_3}, url = {http://dx.doi.org/10.1007/978-3-642-28830-2_3}, researchr = {https://researchr.org/publication/JongeV11}, cites = {0}, citedby = {0}, pages = {40-59}, booktitle = {SLE}, } @inproceedings{AmorimEWV16, title = {Principled syntactic code completion using placeholders}, author = {Luis Eduardo de Souza Amorim and Sebastian Erdweg and Guido Wachsmuth and Eelco Visser}, year = {2016}, doi = {10.1145/2997364.2997374}, url = {http://dx.doi.org/10.1145/2997364.2997374}, researchr = {https://researchr.org/publication/AmorimEWV16}, cites = {0}, citedby = {0}, pages = {163-175}, booktitle = {SLE}, } @article{JongeKVS12, title = {Natural and Flexible Error Recovery for Generated Modular Language Environments}, author = {Maartje de Jonge and Lennart C. L. Kats and Eelco Visser and Emma Söderberg}, year = {2012}, doi = {10.1145/2400676.2400678}, url = {http://doi.acm.org/10.1145/2400676.2400678}, researchr = {https://researchr.org/publication/JongeKVS12}, cites = {0}, citedby = {0}, journal = {TOPLAS}, volume = {34}, number = {4}, pages = {15}, } @inproceedings{BravenboerTV06, title = {Declarative, formal, and extensible syntax definition for {AspectJ}}, author = {Martin Bravenboer and Éric Tanter and Eelco Visser}, year = {2006}, doi = {10.1145/1167473.1167491}, url = {http://doi.acm.org/10.1145/1167473.1167491}, tags = {programming languages, AspectJ, object-oriented programming, Java, syntax definition, SDF, lexical syntax, design complexity, composition, design research, language design, aspect oriented programming, compiler, programming, subject-oriented programming, context-aware, language composition, parsing, design, scannerless parsing, extensible language, ASF+SDF, feature-oriented programming, SGLR, grammar}, researchr = {https://researchr.org/publication/BravenboerTV06}, cites = {0}, citedby = {1}, pages = {209-228}, booktitle = {OOPSLA}, } @inproceedings{Visser00, title = {Language Independent Traversals for Program Transformation}, author = {Eelco Visser}, year = {2000}, month = {July}, tags = {programming languages, rule-based, syntax definition, data-flow language, pattern language, generic programming, abstract syntax, traversal, transformation language, data-flow programming, data-flow, rules, C++, pattern matching, code generation, logic programming, compiler, programming, logic, higher-order transformations, systematic-approach, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser00}, cites = {0}, citedby = {0}, booktitle = {Workshop on Generic Programming (WGP 2000)}, } @article{HeeringHKR89, title = {The syntax definition formalism {SDF} - reference manual}, author = {Jan Heering and P. R. H. Hendriks and Paul Klint and Jan Rekers}, year = {1989}, doi = {10.1145/71605.71607}, url = {http://doi.acm.org/10.1145/71605.71607}, tags = {programming languages, syntax definition, SDF, lexical syntax, abstract syntax, disambiguation, language design, C++, programming, context-aware, incremental, design, ASF+SDF}, researchr = {https://researchr.org/publication/HeeringHKR89}, cites = {0}, citedby = {4}, journal = {SIGPLAN}, volume = {24}, number = {11}, pages = {43-75}, } @inproceedings{KallebergV07, title = {Spoofax: An Interactive Development Environment for Program Transformation with Stratego/XT}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2007}, month = {March}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-018.pdf}, tags = {model-to-model transformation, meta programming, meta-model, model-driven development, model transformation, Spoofax, Meta-Environment, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/KallebergV07}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the Seventh Workshop on Language Descriptions, Tools and Applications (LDTA 2007)}, } @inproceedings{VisserModularity14, title = {Separation of concerns in language definition}, author = {Eelco Visser}, year = {2014}, doi = {10.1145/2584469.2584662}, url = {http://doi.acm.org/10.1145/2584469.2584662}, researchr = {https://researchr.org/publication/VisserModularity14}, cites = {0}, citedby = {0}, pages = {1-2}, booktitle = {AOSD}, } @inproceedings{ErdwegRKO12, title = {Layout-Sensitive Generalized Parsing}, author = {Sebastian Erdweg and Tillmann Rendel and Christian Kästner and Klaus Ostermann}, year = {2012}, doi = {10.1007/978-3-642-36089-3_14}, url = {http://dx.doi.org/10.1007/978-3-642-36089-3_14}, researchr = {https://researchr.org/publication/ErdwegRKO12}, cites = {0}, citedby = {0}, pages = {244-263}, booktitle = {SLE}, } @misc{AmorimV20-IWC, title = {Safety and Completeness of Disambiguation corresponds to Termination and Confluence of Reordering}, author = {Luí­s Eduardo Amorim de Souza and Eelco Visser}, year = {2020}, month = {June}, note = {Extended abstract for talk presented at International Workshop on Confluence 2020 (IWC 2020) in Paris, June 2020.}, researchr = {https://researchr.org/publication/AmorimV20-IWC}, cites = {0}, citedby = {0}, } @inproceedings{VerguHV17, title = {The semantics of name resolution in grace}, author = {Vlad A. Vergu and Michiel Haisma and Eelco Visser}, year = {2017}, doi = {10.1145/3133841.3133847}, url = {https://doi.org/10.1145/3133841.3133847}, researchr = {https://researchr.org/publication/VerguHV17}, cites = {0}, citedby = {0}, pages = {63-74}, booktitle = {DLS}, } @misc{HarkesV17-IC, title = {IceDust Calculation Strategy Composition Performance in Web Applications}, author = {Daco Harkes and Eelco Visser}, year = {2017}, researchr = {https://researchr.org/publication/HarkesV17-IC}, cites = {0}, citedby = {0}, } @inproceedings{Visser97-IWPT, title = {A Case Study in Optimizing Parsing Schemata by Disambiguation Filters}, author = {Eelco Visser}, year = {1997}, month = {September}, tags = {parsing algorithm, programming languages, optimization, application framework, case study, XML, XML Schema, disambiguation, context-aware, program optimization, parsing, grammar}, researchr = {https://researchr.org/publication/Visser97-IWPT}, cites = {0}, citedby = {0}, pages = {210-224}, booktitle = {International Workshop on Parsing Technology (IWPT 1997)}, } @inproceedings{HemelV11a, title = {Mobl: the new language of the mobile web}, author = {Zef Hemel and Eelco Visser}, year = {2011}, doi = {10.1145/2048147.2048159}, url = {http://doi.acm.org/10.1145/2048147.2048159}, researchr = {https://researchr.org/publication/HemelV11a}, cites = {0}, citedby = {0}, pages = {23-24}, booktitle = {OOPSLA}, } @incollection{Visser19-0, title = {Fast and Safe Linguistic Abstraction for the Masses}, author = {Eelco Visser}, year = {2019}, month = {July}, url = {http://eelcovisser.org/blog/2019/09/29/fast-and-safe-linguistic-abstraction-for-the-masses/}, researchr = {https://researchr.org/publication/Visser19-0}, cites = {0}, citedby = {0}, pages = {10-11}, booktitle = {A Research Agenda for Formal Methods in the Netherlands}, organization = {Department of Information and Computing Sciences, Utrecht University, Utrecht, The Netherlands}, } @article{GroenewegenV13, title = {Integration of data validation and user interface concerns in a {DSL} for web applications}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2013}, doi = {10.1007/s10270-010-0173-9}, url = {http://dx.doi.org/10.1007/s10270-010-0173-9}, tags = {WebDSL}, researchr = {https://researchr.org/publication/GroenewegenV13}, cites = {0}, citedby = {0}, journal = {SoSyM}, volume = {12}, number = {1}, pages = {35-52}, } @inproceedings{LuttikV97, title = {Specification of Rewriting Strategies}, author = {Bas Luttik and Eelco Visser}, year = {1997}, month = {November}, tags = {control systems, rule-based, case study, SDF, graph transformation, traversal, transformation language, term rewriting, composition, traversal combinators, graph-rewriting, rules, transformation system, rewriting, rewriting strategies, ASF+SDF, transformation, Stratego}, researchr = {https://researchr.org/publication/LuttikV97}, cites = {0}, citedby = {0}, booktitle = {ASF+SDF}, } @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 = {10.1145/1111542.1111558}, url = {http://doi.acm.org/10.1145/1111542.1111558}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV06}, cites = {0}, citedby = {0}, pages = {95-99}, booktitle = {PEPM}, } @inproceedings{FischerV04-dagstuhl, title = {Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_14}, url = {https://doi.org/10.1007/978-3-540-25935-0_14}, tags = {programming languages, object-oriented programming, concrete object syntax, Prolog, rule-based, program analysis, meta programming, data-flow language, generic programming, program synthesis, AutoBayes, SDF, meta-model, XML, abstract syntax, XML Schema, Stratego/XT, analysis, constraints, data-flow programming, data-flow, migration, code generation, language embedding, programming, subject-oriented programming, Meta-Environment, data-flow analysis, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, Stratego}, researchr = {https://researchr.org/publication/FischerV04-dagstuhl}, cites = {0}, citedby = {0}, pages = {239-253}, booktitle = {Dagstuhl}, } @inproceedings{KatsVKV12, title = {Software development environments on the web: a research agenda}, author = {Lennart C. L. Kats and Richard Vogelij and Karl Trygve Kalleberg and Eelco Visser}, year = {2012}, doi = {10.1145/2384592.2384603}, url = {http://doi.acm.org/10.1145/2384592.2384603}, researchr = {https://researchr.org/publication/KatsVKV12}, cites = {0}, citedby = {0}, pages = {99-116}, booktitle = {OOPSLA}, } @inproceedings{DenkersGV18, title = {Migrating custom {DSL} implementations to a language workbench (tool demo)}, author = {Jasper Denkers and Louis van Gool and Eelco Visser}, year = {2018}, doi = {10.1145/3276604.3276608}, url = {https://doi.org/10.1145/3276604.3276608}, researchr = {https://researchr.org/publication/DenkersGV18}, cites = {0}, citedby = {0}, pages = {205-209}, booktitle = {SLE}, } @inproceedings{ErdwegVMV14-demo, title = {Finding bugs in program generators by dynamic analysis of syntactic language constraints}, author = {Sebastian Erdweg and Vlad A. Vergu and Mira Mezini and Eelco Visser}, year = {2014}, doi = {10.1145/2584469.2584474}, url = {http://doi.acm.org/10.1145/2584469.2584474}, researchr = {https://researchr.org/publication/ErdwegVMV14-demo}, cites = {0}, citedby = {0}, pages = {17-20}, booktitle = {AOSD}, } @inproceedings{ErdwegSV13, title = {The State of the Art in Language Workbenches - Conclusions from the Language Workbench Challenge}, author = {Sebastian Erdweg and Tijs van der Storm and Markus Völter and Meinte Boersma and Remi Bosman and William R. Cook and Albert Gerritsen and Angelo Hulshout and Steven Kelly and Alex Loh and Gabriël Konat and Pedro J. Molina and Martin Palatnik and Risto Pohjonen and Eugen Schindler and Klemens Schindler and Riccardo Solmi and Vlad A. Vergu and Eelco Visser and Kevin van der Vlist and Guido Wachsmuth and Jimi van der Woning}, year = {2013}, doi = {10.1007/978-3-319-02654-1_11}, url = {http://dx.doi.org/10.1007/978-3-319-02654-1_11}, researchr = {https://researchr.org/publication/ErdwegSV13}, cites = {0}, citedby = {0}, pages = {197-217}, booktitle = {SLE}, } @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 = {10.1007/11561347_12}, url = {http://dx.doi.org/10.1007/11561347_12}, tags = {programming languages, AspectJ, object-oriented programming, concrete object syntax, rule-based, Java, syntax definition, meta programming, SDF, meta-model, disambiguation, type system, reuse, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerVVV05}, cites = {0}, citedby = {2}, pages = {157-172}, booktitle = {GPCE}, } @article{SmitsWV20, title = {FlowSpec: A Declarative Specification Language for Intra-Procedural Flow-Sensitive Data-Flow Analysis}, author = {Jeff Smits and Guido Wachsmuth and Eelco Visser}, year = {2020}, doi = {10.1016/j.cola.2019.100924}, url = {https://doi.org/10.1016/j.cola.2019.100924}, researchr = {https://researchr.org/publication/SmitsWV20}, cites = {0}, citedby = {0}, journal = {JCL (JVLC)}, volume = {57}, pages = {100924}, } @article{DolstraV02, title = {Building Interpreters with Rewriting Strategies}, author = {Eelco Dolstra and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80427-4}, url = {https://doi.org/10.1016/S1571-0661(04)80427-4}, tags = {laziness, programming languages, optimization, semantics, rule-based, pattern language, dynamic rewrite rules, interpreter, Stratego/XT, dynamic rules, parallel programming, reuse, graph-rewriting, rules, pattern matching, programming, program optimization, rewriting, systematic-approach, rewriting strategies, interpreters, Stratego}, researchr = {https://researchr.org/publication/DolstraV02}, cites = {0}, citedby = {0}, journal = {ENTCS}, volume = {65}, number = {3}, pages = {57-76}, } @inproceedings{HarkesV17, title = {IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition}, author = {Daco Harkes and Eelco Visser}, year = {2017}, doi = {10.4230/LIPIcs.ECOOP.2017.14}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2017.14}, researchr = {https://researchr.org/publication/HarkesV17}, cites = {0}, citedby = {0}, booktitle = {ECOOP}, } @article{WachsmuthKV14, title = {Language Design with the Spoofax Language Workbench}, author = {Guido Wachsmuth and Gabriël Konat and Eelco Visser}, year = {2014}, doi = {10.1109/MS.2014.100}, url = {http://dx.doi.org/10.1109/MS.2014.100}, researchr = {https://researchr.org/publication/WachsmuthKV14}, cites = {0}, citedby = {0}, journal = {IEEE Software}, volume = {31}, number = {5}, pages = {35-43}, } @inproceedings{KlintV94, title = {Using Filters for the Disambiguation of Context-free Grammars}, author = {Paul Klint and Eelco Visser}, year = {1994}, month = {October}, tags = {case study, disambiguation, context-aware, parsing, grammar, domain-specific language}, researchr = {https://researchr.org/publication/KlintV94}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the ASMICS Workshop on Parsing Theory}, } @inproceedings{AmorimV20, title = {Multi-purpose Syntax Definition with {SDF3}}, author = {Luis Eduardo de Souza Amorim and Eelco Visser}, year = {2020}, doi = {10.1007/978-3-030-58768-0_1}, url = {https://doi.org/10.1007/978-3-030-58768-0_1}, researchr = {https://researchr.org/publication/AmorimV20}, cites = {0}, citedby = {0}, pages = {1-23}, booktitle = {SEFM}, } @article{PoulsenRTKV18, title = {Intrinsically-typed definitional interpreters for imperative languages}, author = {Casper Bach Poulsen and Arjen Rouvoet and Andrew P. Tolmach and Robbert Krebbers and Eelco Visser}, year = {2018}, doi = {10.1145/3158104}, url = {http://doi.acm.org/10.1145/3158104}, tags = {Intrinsic-Verification}, researchr = {https://researchr.org/publication/PoulsenRTKV18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {POPL}, } @misc{SmitsV20-Artifact, title = {Gradually Typing Strategies - Artifact}, author = {Jeff Smits and Eelco Visser}, year = {2020}, month = {September}, doi = {10.5281/zenodo.4032445}, url = {https://doi.org/10.5281/zenodo.4032445}, researchr = {https://researchr.org/publication/SmitsV20-Artifact}, cites = {0}, citedby = {0}, howpublished = {Zenodo}, } @phdthesis{Visser97, title = {Syntax Definition for Language Prototyping}, author = {Eelco Visser}, year = {1997}, month = {September}, tags = {syntax definition, SDF, syntax definition formalism, disambiguation, testing, language design, graph-rewriting, algebraic specification, algebra, context-aware, rewriting, parsing, design, scannerless parsing, ASF+SDF, SGLR}, researchr = {https://researchr.org/publication/Visser97}, cites = {0}, citedby = {6}, school = {University of Amsterdam}, advisor = {Paul Klint}, } @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 = {10.1109/ICWE.2008.15}, url = {http://dx.doi.org/10.1109/ICWE.2008.15}, tags = {WebDSL, semantics, rule-based, separation of concerns, transformation language, action semantics, language design, weaving, rules, web applications, DSL, abstraction, access control policies, access control, aspect weaving, design, role-based access control, systematic-approach, transformation, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenV08}, cites = {26}, citedby = {7}, pages = {175-188}, booktitle = {ICWE}, } @article{KatsKV10, title = {Domain-Specific Languages for Composable Editor Plugins}, author = {Lennart C. L. Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2010}, doi = {10.1016/j.entcs.2010.08.038}, url = {http://dx.doi.org/10.1016/j.entcs.2010.08.038}, tags = {C++, domain-specific language}, researchr = {https://researchr.org/publication/KatsKV10}, cites = {0}, citedby = {0}, journal = {ENTCS}, volume = {253}, number = {7}, pages = {149-163}, } @inproceedings{KonatKWV12, title = {Declarative Name Binding and Scope Rules}, author = {Gabriël Konat and Lennart C. L. Kats and Guido Wachsmuth and Eelco Visser}, year = {2012}, doi = {10.1007/978-3-642-36089-3_18}, url = {http://dx.doi.org/10.1007/978-3-642-36089-3_18}, researchr = {https://researchr.org/publication/KonatKWV12}, cites = {0}, citedby = {0}, pages = {311-331}, booktitle = {SLE}, } @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 = {framework, optimization, WebDSL, application framework, domain analysis, analysis, language design, static analysis, constraints, reuse, software evolution, C++, DSL, abstraction, incremental, design, systematic-approach, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenHKV08-DSM}, cites = {0}, citedby = {2}, booktitle = {DSM}, } @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 = {FUIN}, volume = {69}, number = {1-2}, pages = {123-178}, } @inproceedings{HarkesCV18, title = {Migrating business logic to an incremental computing DSL: a case study}, author = {Daco Harkes and Elmer van Chastelet and Eelco Visser}, year = {2018}, doi = {10.1145/3276604.3276617}, url = {https://doi.org/10.1145/3276604.3276617}, researchr = {https://researchr.org/publication/HarkesCV18}, cites = {0}, citedby = {0}, pages = {83-96}, booktitle = {SLE}, } @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 = {SLE}, } @inproceedings{PoulsenNTV16, title = {Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics}, author = {Casper Bach Poulsen and Pierre Néron and Andrew P. Tolmach and Eelco Visser}, year = {2016}, doi = {10.4230/LIPIcs.ECOOP.2016.20}, researchr = {https://researchr.org/publication/PoulsenNTV16}, cites = {0}, citedby = {0}, booktitle = {ECOOP}, } @inproceedings{Visser05-SCAM, title = {Transformations for Abstractions}, author = {Eelco Visser}, year = {2005}, month = {October}, doi = {10.1109/SCAM.2005.26}, url = {http://dx.doi.org/10.1109/SCAM.2005.26}, tags = {programming languages, meta programming, case study, Stratego/XT, transformation language, extensible languages, programming, abstraction, Meta-Environment, extensible language, interpreters, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser05-SCAM}, cites = {0}, citedby = {1}, booktitle = {SCAM}, } @manual{StrategoXTReferenceManual, title = {Stratego/XT Reference Manual}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2008}, url = {http://releases.strategoxt.org/strategoxt-manual/strategoxt-manual-0.17pre18721-8c3vml4h/manual/}, researchr = {https://researchr.org/publication/StrategoXTReferenceManual}, cites = {0}, citedby = {0}, } @inproceedings{ErdwegVMV14, title = {Modular specification and dynamic enforcement of syntactic language constraints when generating code}, author = {Sebastian Erdweg and Vlad A. Vergu and Mira Mezini and Eelco Visser}, year = {2014}, doi = {10.1145/2577080.2577089}, url = {http://doi.acm.org/10.1145/2577080.2577089}, researchr = {https://researchr.org/publication/ErdwegVMV14}, cites = {0}, citedby = {0}, pages = {241-252}, booktitle = {AOSD}, } @article{AntwerpenPRV18, title = {Scopes as types}, author = {Hendrik van Antwerpen and Casper Bach Poulsen and Arjen Rouvoet and Eelco Visser}, year = {2018}, doi = {10.1145/3276484}, url = {https://doi.org/10.1145/3276484}, researchr = {https://researchr.org/publication/AntwerpenPRV18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {OOPSLA}, } @inproceedings{KonatEV18, title = {Scalable incremental building with dynamic task dependencies}, author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser}, year = {2018}, doi = {10.1145/3238147.3238196}, url = {https://doi.org/10.1145/3238147.3238196}, researchr = {https://researchr.org/publication/KonatEV18}, cites = {0}, citedby = {0}, pages = {76-86}, booktitle = {ASE}, } @inproceedings{VeenHV18, title = {PixieDust: Declarative Incremental User Interface Rendering Through Static Dependency Tracking}, author = {Nick ten Veen and Daco Harkes and Eelco Visser}, year = {2018}, doi = {10.1145/3184558.3185978}, url = {http://doi.acm.org/10.1145/3184558.3185978}, researchr = {https://researchr.org/publication/VeenHV18}, cites = {0}, citedby = {0}, pages = {721-729}, booktitle = {WWW}, } @inproceedings{LindemanKV11, title = {Declaratively defining domain-specific language debuggers}, author = {Ricky T. Lindeman and Lennart C. L. Kats and Eelco Visser}, year = {2011}, doi = {10.1145/2047862.2047885}, url = {http://doi.acm.org/10.1145/2047862.2047885}, researchr = {https://researchr.org/publication/LindemanKV11}, cites = {0}, citedby = {0}, pages = {127-136}, booktitle = {GPCE}, } @article{ErdwegSVTBCGH0L15, title = {Evaluating and comparing language workbenches: Existing results and benchmarks for the future}, author = {Sebastian Erdweg and Tijs van der Storm and Markus Völter and Laurence Tratt and Remi Bosman and William R. Cook and Albert Gerritsen and Angelo Hulshout and Steven Kelly and Alex Loh and Gabriël Konat and Pedro J. Molina and Martin Palatnik and Risto Pohjonen and Eugen Schindler and Klemens Schindler and Riccardo Solmi and Vlad A. Vergu and Eelco Visser and Kevin van der Vlist and Guido Wachsmuth and Jimi van der Woning}, year = {2015}, doi = {10.1016/j.cl.2015.08.007}, url = {http://dx.doi.org/10.1016/j.cl.2015.08.007}, researchr = {https://researchr.org/publication/ErdwegSVTBCGH0L15}, cites = {0}, citedby = {0}, journal = {Comp. Lang., Syst. \& Struct.}, volume = {44}, pages = {24-47}, } @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 = {10.1016/j.scico.2007.11.003}, url = {http://dx.doi.org/10.1016/j.scico.2007.11.003}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, DSL, programming, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV08}, cites = {0}, citedby = {7}, journal = {SCP}, volume = {72}, number = {1-2}, pages = {52-70}, } @inproceedings{VerguTV19, title = {Scopes and Frames Improve Meta-Interpreter Specialization}, author = {Vlad A. Vergu and Andrew P. Tolmach and Eelco Visser}, year = {2019}, doi = {10.4230/LIPIcs.ECOOP.2019.4}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2019.4}, researchr = {https://researchr.org/publication/VerguTV19}, cites = {0}, citedby = {0}, booktitle = {ECOOP}, } @inproceedings{Visser01, title = {Stratego: A Language for Program Transformation Based on Rewriting Strategies}, author = {Eelco Visser}, year = {2001}, doi = {10.1007/3-540-45127-7_27}, url = {https://doi.org/10.1007/3-540-45127-7_27}, tags = {control systems, programming languages, optimization, object-oriented programming, rule-based, transformation engineering, pattern language, generic programming, graph transformation, Stratego/XT, traversal, refactoring, language engineering, transformation language, software language engineering, term rewriting, reuse, termination, graph-rewriting, software engineering, rules, programming paradigms, migration, transformation system, rule-based refactoring, compiler, subject-oriented programming, program optimization, higher-order transformations, rewriting, rewriting strategies, feature-oriented programming, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser01}, cites = {0}, citedby = {1}, pages = {357-362}, booktitle = {RTA}, } @inproceedings{GroenewegenCV20, title = {Evolution of the WebDSL runtime: reliability engineering of the WebDSL web programming language}, author = {Danny M. Groenewegen and Elmer van Chastelet and Eelco Visser}, year = {2020}, doi = {10.1145/3397537.3397553}, url = {https://doi.org/10.1145/3397537.3397553}, tags = {WebDSL}, researchr = {https://researchr.org/publication/GroenewegenCV20}, cites = {0}, citedby = {0}, pages = {77-83}, booktitle = {Programming}, } @article{VisserB98, title = {A core language for rewriting}, author = {Eelco Visser and Zine-El-Abidine Benaissa}, year = {1998}, doi = {10.1016/S1571-0661(05)80027-1}, url = {http://dx.doi.org/10.1016/S1571-0661(05)80027-1}, tags = {rule-based, SDF, graph transformation, traversal, transformation language, term rewriting, graph-rewriting, rules, transformation system, abstraction, rewriting, rewriting strategies, ASF+SDF, transformation}, researchr = {https://researchr.org/publication/VisserB98}, cites = {0}, citedby = {1}, journal = {ENTCS}, volume = {15}, pages = {422-441}, } @inproceedings{HuismanBBDGLPV16, title = {Software that Meets Its Intent}, author = {Marieke Huisman and Herbert Bos and Sjaak Brinkkemper and Arie van Deursen and Jan Friso Groote and Patricia Lago and Jaco van de Pol and Eelco Visser}, year = {2016}, doi = {10.1007/978-3-319-47169-3_47}, url = {http://dx.doi.org/10.1007/978-3-319-47169-3_47}, researchr = {https://researchr.org/publication/HuismanBBDGLPV16}, cites = {0}, citedby = {0}, pages = {609-625}, booktitle = {ISoLA}, } @inproceedings{KonatSEV19, title = {Precise, Efficient, and Expressive Incremental Build Scripts with {PIE}}, author = {Gabriël Konat and Roelof Sol and Sebastian Erdweg and Eelco Visser}, year = {2019}, researchr = {https://researchr.org/publication/KonatSEV19}, cites = {0}, citedby = {0}, booktitle = {Second Workshop on Incremental Computing (IC 2019)}, } @inproceedings{KatsVV11, title = {Integrated language definition testing: enabling test-driven language development}, author = {Lennart C. L. Kats and Rob Vermaas and Eelco Visser}, year = {2011}, doi = {10.1145/2048066.2048080}, url = {http://doi.acm.org/10.1145/2048066.2048080}, researchr = {https://researchr.org/publication/KatsVV11}, cites = {0}, citedby = {0}, pages = {139-154}, booktitle = {OOPSLA}, } @article{AmorimSV18, title = {Towards Zero-Overhead Disambiguation of Deep Priority Conflicts}, author = {Luis Eduardo de Souza Amorim and Michael J. Steindorfer and Eelco Visser}, year = {2018}, doi = {10.22152/programming-journal.org/2018/2/13}, url = {https://doi.org/10.22152/programming-journal.org/2018/2/13}, researchr = {https://researchr.org/publication/AmorimSV18}, cites = {0}, citedby = {0}, journal = {Programming}, volume = {2}, number = {3}, pages = {13}, } @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 = {OOPSLA}, } @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}, } @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 = {ICFP}, } @inproceedings{VollebregtKV12, title = {Declarative specification of template-based textual editors}, author = {Tobi Vollebregt and Lennart C. L. Kats and Eelco Visser}, year = {2012}, doi = {10.1145/2427048.2427056}, url = {http://doi.acm.org/10.1145/2427048.2427056}, researchr = {https://researchr.org/publication/VollebregtKV12}, cites = {0}, citedby = {0}, pages = {1-7}, booktitle = {LDTA}, } @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 = {GPCE}, } @inproceedings{HemelKV08, title = {Code Generation by Model Transformation}, author = {Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-69927-9_13}, url = {http://dx.doi.org/10.1007/978-3-540-69927-9_13}, tags = {programming languages, model-to-model transformation, object-oriented programming, WebDSL, concrete object syntax, rule-based, transformation engineering, syntax definition, meta programming, data-flow language, pattern language, case study, graph transformation, meta-model, modeling language, modeling, language engineering, transformation language, software language engineering, language modeling, web engineering, data-flow programming, model-driven development, data-flow, source-to-source, graph-rewriting, software engineering, rules, model-driven engineering, C++, programming paradigms, code generation, object-role modeling, aspect oriented programming, model transformation, web applications, DSL, subject-oriented programming, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, open-source, meta-objects, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelKV08}, cites = {0}, citedby = {3}, pages = {183-198}, booktitle = {ICMT}, } @inproceedings{KatsVW10, title = {Pure and declarative syntax definition: paradise lost and regained}, author = {Lennart C. L. Kats and Eelco Visser and Guido Wachsmuth}, year = {2010}, doi = {10.1145/1869459.1869535}, url = {http://doi.acm.org/10.1145/1869459.1869535}, tags = {parsing algorithm, syntax definition, composition, software evolution, C++, compiler, parsing}, researchr = {https://researchr.org/publication/KatsVW10}, cites = {0}, citedby = {1}, pages = {918-932}, booktitle = {OOPSLA}, } @inproceedings{AntwerpenNTVW16, title = {A constraint language for static semantic analysis based on scope graphs}, author = {Hendrik van Antwerpen and Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2016}, doi = {10.1145/2847538.2847543}, url = {http://doi.acm.org/10.1145/2847538.2847543}, researchr = {https://researchr.org/publication/AntwerpenNTVW16}, cites = {0}, citedby = {0}, pages = {49-60}, booktitle = {PEPM}, } @techreport{TUD-SERG-2015-009, title = {A Constraint Language for Static Semantic Analysis based on Scope Graphs with Proofs}, author = {Hendrik van Antwerpen and Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, month = {September}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2015-009.pdf}, note = {Available at \url{http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2015-009.pdf}}, researchr = {https://researchr.org/publication/TUD-SERG-2015-009}, cites = {0}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2015-009}, } @inproceedings{Visser03, title = {Program Transformation with {Stratego/XT}: Rules, Strategies, Tools, and Systems in {Stratego/XT 0.9}}, author = {Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_13}, url = {https://doi.org/10.1007/978-3-540-25935-0_13}, tags = {control systems, programming languages, rule-based, graph transformation, Stratego/XT, transformation language, composition, graph-rewriting, rules, programming paradigms, transformation system, abstraction, rewriting, parsing, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser03}, cites = {0}, citedby = {4}, pages = {216-238}, booktitle = {Dagstuhl}, } @article{JongeVV01, title = {{XT}: a bundle of program transformation tools}, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)80921-6}, url = {http://dx.doi.org/10.1016/S1571-0661(04)80921-6}, tags = {model-to-model transformation, rule-based, Stratego/XT, model-driven development, source-to-source, transformation system, model transformation, programming, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/JongeVV01}, cites = {0}, citedby = {0}, journal = {ENTCS}, volume = {44}, number = {2}, pages = {79-86}, } @article{Visser05, title = {A survey of strategies in rule-based program transformation systems}, author = {Eelco Visser}, year = {2005}, doi = {10.1016/j.jsc.2004.12.011}, url = {http://dx.doi.org/10.1016/j.jsc.2004.12.011}, tags = {programming languages, transformation strategy, tree parsing, rule-based, attribute grammars, tree traversal, data-flow language, pattern language, generic programming, congruence operators, transformation strategies, graph transformation, traversal, transformation language, term rewriting, generic traversal strategies, tree pattern matching, data-flow programming, program transformation system, data-flow, graph-rewriting, survey, rules, pattern matching, strategy annotations, strategy combinators, transformation system, program representation, programming, context-aware, rule-based program transformation, context-sensitive transformation, higher-order transformations, rewriting, parsing, systematic-approach, rewriting strategies, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser05}, cites = {1}, citedby = {1}, journal = {JSC}, volume = {40}, number = {1}, pages = {831-873}, } @inproceedings{KatsKV10-SLE, title = {Interactive Disambiguation of Meta Programs with Concrete Object Syntax}, author = {Lennart C. L. Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2010}, doi = {10.1007/978-3-642-19440-5_22}, url = {http://dx.doi.org/10.1007/978-3-642-19440-5_22}, tags = {programming languages, object-oriented programming, concrete object syntax, rule-based, meta programming, meta-model, abstract syntax, tagging, disambiguation, model-driven development, source-to-source, C++, programming, subject-oriented programming, Meta-Environment, feature-oriented programming, concrete syntax, open-source, meta-objects, grammar}, researchr = {https://researchr.org/publication/KatsKV10-SLE}, cites = {0}, citedby = {0}, pages = {327-336}, booktitle = {SLE}, } @inproceedings{AmorimSEV18, title = {Declarative specification of indentation rules: a tooling perspective on parsing and pretty-printing layout-sensitive languages}, author = {Luis Eduardo de Souza Amorim and Michael J. Steindorfer and Sebastian Erdweg and Eelco Visser}, year = {2018}, doi = {10.1145/3276604.3276607}, url = {https://doi.org/10.1145/3276604.3276607}, researchr = {https://researchr.org/publication/AmorimSEV18}, cites = {0}, citedby = {0}, pages = {3-15}, booktitle = {SLE}, } @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 = {OOPSLA}, } @article{KonatSEV18, title = {{PIE}: A Domain-Specific Language for Interactive Software Development Pipelines}, author = {Gabriël Konat and Michael J. Steindorfer and Sebastian Erdweg and Eelco Visser}, year = {2018}, doi = {10.22152/programming-journal.org/2018/2/9}, url = {https://doi.org/10.22152/programming-journal.org/2018/2/9}, researchr = {https://researchr.org/publication/KonatSEV18}, cites = {0}, citedby = {0}, journal = {Programming}, volume = {2}, number = {3}, pages = {9}, } @article{HarkesV17-ART, title = {IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition (Artifact)}, author = {Daco Harkes and Eelco Visser}, year = {2017}, doi = {10.4230/DARTS.3.2.1}, url = {https://doi.org/10.4230/DARTS.3.2.1}, researchr = {https://researchr.org/publication/HarkesV17-ART}, cites = {0}, citedby = {0}, journal = {darts}, volume = {3}, number = {2}, } @inproceedings{ErdwegKRKOV11gpce, title = {Growing a language environment with editor libraries}, author = {Sebastian Erdweg and Lennart C. L. Kats and Tillmann Rendel and Christian Kästner and Klaus Ostermann and Eelco Visser}, year = {2011}, doi = {10.1145/2047862.2047891}, url = {http://doi.acm.org/10.1145/2047862.2047891}, researchr = {https://researchr.org/publication/ErdwegKRKOV11gpce}, cites = {0}, citedby = {0}, pages = {167-176}, booktitle = {GPCE}, } @article{OlmosV02, title = {Strategies for Source-to-Source Constant Progagation}, author = {Karina Olmos and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80605-4}, url = {https://doi.org/10.1016/S1571-0661(04)80605-4}, tags = {control systems, model-to-model transformation, optimization, rule-based, graph transformation, dynamic rewrite rules, abstract syntax, Stratego/XT, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, transformation system, model transformation, program optimization, rewriting, constant propagation, rewriting strategies, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/OlmosV02}, cites = {0}, citedby = {0}, journal = {ENTCS}, volume = {70}, number = {6}, pages = {156-175}, } @misc{PelsmaekerV18, title = {Toward a Language-Parametric Code Completion Editor Service}, author = {Daniel A. A. Pelsmaeker and Eelco Visser}, year = {2018}, researchr = {https://researchr.org/publication/PelsmaekerV18}, cites = {0}, citedby = {0}, howpublished = {Poster at SPLASH}, } @misc{KonatAEV16, title = {Bootstrapping, Default Formatting, and Skeleton Editing in the Spoofax Language Workbench}, author = {Gabriël Konat and Luis Eduardo de Souza Amorim and Sebastian Erdweg and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/KonatAEV16}, cites = {0}, citedby = {0}, howpublished = {Language Workbench Challenge (LWC@SLE)}, } @misc{HaismaVV17, title = {Grace in {Spoofax}: Readable Specification and Implementation in One}, author = {Michiel Haisma and Vlad Vergu and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/HaismaVV17}, cites = {0}, citedby = {0}, howpublished = {Presented at GRACE 2016}, } @book{DslEngineering2013, title = {{DSL} Engineering - Designing, Implementing and Using Domain-Specific Languages}, author = {Markus Völter and Sebastian Benz and Christian Dietrich and Birgit Engelmann and Mats Helander and Lennart C. L. Kats and Eelco Visser and Guido Wachsmuth}, year = {2013}, url = {http://www.dslbook.org}, researchr = {https://researchr.org/publication/DslEngineering2013}, cites = {0}, citedby = {0}, publisher = {dslbook.org}, isbn = {978-1-4812-1858-0}, } @inproceedings{KonatVKWV2012, title = {The {Spoofax} Name Binding Language}, author = {Gabriël Konat and Vlad A. Vergu and Lennart C. L. Kats and Guido Wachsmuth and Eelco Visser}, year = {2012}, doi = {10.1145/2384716.2384748}, url = {https://doi.org/10.1145/2384716.2384748}, tags = {C++, Spoofax}, researchr = {https://researchr.org/publication/KonatVKWV2012}, cites = {0}, citedby = {0}, booktitle = {Companion to the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2012, Tucson, AR, USA, October 19 - 26, 2012}, } @inproceedings{KatsV10, title = {The {Spoofax} language workbench: rules for declarative specification of languages and {IDEs}}, author = {Lennart C. L. Kats and Eelco Visser}, year = {2010}, doi = {10.1145/1869459.1869497}, url = {https://doi.org/10.1145/1869459.1869497}, tags = {programming languages, model-to-model transformation, workbench, semantics, rule-based, Eclipse, meta programming, model editor, graph transformation, meta-model, transformation language, architecture, reuse, model-driven development, graph-rewriting, rules, C++, code completion, code generation, model transformation, programming, language workbench, Spoofax, Meta-Environment, rewriting, parsing, meta-objects, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/KatsV10}, cites = {0}, citedby = {2}, pages = {444-463}, booktitle = {OOPSLA}, } @inproceedings{WachsmuthKVGV13, title = {A Language Independent Task Engine for Incremental Name and Type Analysis}, author = {Guido Wachsmuth and Gabriël Konat and Vlad A. Vergu and Danny M. Groenewegen and Eelco Visser}, year = {2013}, doi = {10.1007/978-3-319-02654-1_15}, url = {http://dx.doi.org/10.1007/978-3-319-02654-1_15}, researchr = {https://researchr.org/publication/WachsmuthKVGV13}, cites = {0}, citedby = {0}, pages = {260-280}, booktitle = {SLE}, } @inproceedings{AmorimSV17, title = {Deep priority conflicts in the wild: a pilot study}, author = {Luis Eduardo de Souza Amorim and Michael J. Steindorfer and Eelco Visser}, year = {2017}, doi = {10.1145/3136014.3136020}, url = {http://doi.acm.org/10.1145/3136014.3136020}, researchr = {https://researchr.org/publication/AmorimSV17}, cites = {0}, citedby = {0}, pages = {55-66}, booktitle = {SLE}, } @inproceedings{BravenboerV07, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, author = {Martin Bravenboer and Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-69073-3_5}, url = {http://dx.doi.org/10.1007/978-3-540-69073-3_5}, tags = {syntax embedding, syntax definition, assimilation, transformation language, architecture, language design, DSL, language libraries, design, transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV07}, cites = {24}, citedby = {1}, pages = {34-46}, booktitle = {MoDELS}, } @inbook{RouvoetAPKV20-ext, title = {Knowing When to Ask: Sound scheduling of name resolution in type checkers derived from declarative specifications (Extended Version)}, author = {Arjen Rouvoet and Hendrik van Antwerpen and Casper Bach Poulsen and Robbert Krebbers and Eelco Visser}, year = {2020}, month = {Oct}, doi = {10.5281/zenodo.4091445}, url = {http://doi.org/10.5281/zenodo.4091445}, researchr = {https://researchr.org/publication/RouvoetAPKV20-ext}, cites = {0}, citedby = {0}, publisher = {Zenodo}, } @article{RouvoetAPKV20, title = {Knowing when to ask: sound scheduling of name resolution in type checkers derived from declarative specifications}, author = {Arjen Rouvoet and Hendrik van Antwerpen and Casper Bach Poulsen and Robbert Krebbers and Eelco Visser}, year = {2020}, doi = {10.1145/3428248}, url = {https://doi.org/10.1145/3428248}, researchr = {https://researchr.org/publication/RouvoetAPKV20}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {4}, number = {OOPSLA}, } @inproceedings{SmitsV20, title = {Gradually typing strategies}, author = {Jeff Smits and Eelco Visser}, year = {2020}, doi = {10.1145/3426425.3426928}, url = {https://doi.org/10.1145/3426425.3426928}, researchr = {https://researchr.org/publication/SmitsV20}, cites = {0}, citedby = {0}, pages = {1-15}, booktitle = {SLE}, } @inproceedings{HarkesV14, title = {Unifying and Generalizing Relations in Role-Based Data Modeling and Navigation}, author = {Daco Harkes and Eelco Visser}, year = {2014}, doi = {10.1007/978-3-319-11245-9_14}, url = {http://dx.doi.org/10.1007/978-3-319-11245-9_14}, researchr = {https://researchr.org/publication/HarkesV14}, cites = {0}, citedby = {0}, pages = {241-260}, booktitle = {SLE}, } @article{BravenboerDV10, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2010}, doi = {10.1016/j.scico.2009.05.004}, url = {http://dx.doi.org/10.1016/j.scico.2009.05.004}, tags = {injection attack}, researchr = {https://researchr.org/publication/BravenboerDV10}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {75}, number = {7}, pages = {473-495}, } @inproceedings{HemelV11, title = {Declaratively programming the mobile web with {Mobl}}, author = {Zef Hemel and Eelco Visser}, year = {2011}, doi = {10.1145/2048066.2048121}, url = {http://doi.acm.org/10.1145/2048066.2048121}, researchr = {https://researchr.org/publication/HemelV11}, cites = {0}, citedby = {0}, pages = {695-712}, booktitle = {OOPSLA}, } @article{PoulsenNTV16Artifact, title = {Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics (Artifact)}, author = {Casper Bach Poulsen and Pierre Néron and Andrew P. Tolmach and Eelco Visser}, year = {2016}, doi = {10.4230/DARTS.2.1.10}, url = {http://dx.doi.org/10.4230/DARTS.2.1.10}, researchr = {https://researchr.org/publication/PoulsenNTV16Artifact}, cites = {0}, citedby = {0}, journal = {darts}, volume = {2}, number = {1}, } @techreport{Visser97-SGLR, title = {Scannerless Generalized-{LR} Parsing}, author = {Eelco Visser}, year = {1997}, month = {July}, tags = {parsing algorithm, GLR parsing, rule-based, SDF, lexical syntax, disambiguation, GLR, analysis, rules, context-aware, parsing, scannerless parsing, systematic-approach, ASF+SDF, SGLR, grammar}, researchr = {https://researchr.org/publication/Visser97-SGLR}, cites = {0}, citedby = {6}, institution = {Programming Research Group, University of Amsterdam}, number = {P9707}, } @inproceedings{JongeV12, title = {Automated evaluation of syntax error recovery}, author = {Maartje de Jonge and Eelco Visser}, year = {2012}, doi = {10.1145/2351676.2351736}, url = {http://doi.acm.org/10.1145/2351676.2351736}, researchr = {https://researchr.org/publication/JongeV12}, cites = {0}, citedby = {0}, pages = {322-325}, booktitle = {ASE}, } @techreport{Visser97-SDF, title = {A Family of Syntax Definition Formalisms}, author = {Eelco Visser}, year = {1997}, month = {August}, tags = {syntax definition, SDF, lexical syntax, scannerless, disambiguation, context-aware, parsing, design, scannerless parsing, ASF+SDF, grammar}, researchr = {https://researchr.org/publication/Visser97-SDF}, cites = {0}, citedby = {2}, institution = {Programming Research Group, University of Amsterdam}, number = {P9706}, } @article{Visser15, title = {Understanding software through linguistic abstraction}, author = {Eelco Visser}, year = {2015}, doi = {10.1016/j.scico.2013.12.001}, url = {http://dx.doi.org/10.1016/j.scico.2013.12.001}, researchr = {https://researchr.org/publication/Visser15}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {97}, pages = {11-16}, } @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 = {10.1007/11877028_10}, url = {http://dx.doi.org/10.1007/11877028_10}, tags = {generative programming, programming languages, rule-based, transformation engineering, Java, generic programming, assimilation, graph transformation, Stratego/XT, language engineering, domain-specific language embedding, transformation language, composition, MetaBorg, language design, graph-rewriting, transformation system, language embedding, DSL, programming, abstraction, language composition, rewriting, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerGV06}, cites = {0}, citedby = {3}, pages = {297-311}, booktitle = {GTTSE}, } @inproceedings{BravenboerDV07, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2007}, doi = {10.1145/1289971.1289975}, url = {http://doi.acm.org/10.1145/1289971.1289975}, tags = {programming languages, syntax embedding, Java, preventing injection attacks, generic programming, injection attack, SDF, XML, embedded software, XML Schema, SQL, security, language embedding, DSL, programming, systematic-approach, ASF+SDF, grammar, query language}, researchr = {https://researchr.org/publication/BravenboerDV07}, cites = {0}, citedby = {4}, pages = {3-12}, booktitle = {GPCE}, }