Spoofax and its meta-languages have been described and motivated extensively in the academic literature. All references to Spoofax-related papers should have been collected in a bibliography on researchr from where the complete collection of bibtex entries can be obtained. (Let us know if we are missing publications in that collection.) This section provides references to that literature.
The first version of Spoofax was described in an award winning paper OOPSLA 20101. (The paper won the best (student) paper award at OOPSLA 2010 and the Most Influential Paper Award at OOPSLA 2020.) The paper provides motivation for textual language workbenches and discusses the architecture of a language workbench based on declarative meta-languages.
An introduction to Spoofax was included along with introductions to MPS and Xtext in Völter's DSL Engineering book2.
A paper in IEEE Software3 considers Spoofax from a user's perspective.
- SDF3: papers about the syntax definition formalism and its predecessors
- Statix: papers about the static semantics meta-language and its predecessors
- Stratego: papers about the transformation meta-language
Lennart C. L. Kats and Eelco Visser. The Spoofax language workbench: rules for declarative specification of languages and IDEs. In William R. Cook, Siobhán Clarke, and Martin C. Rinard, editors, Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, 444–463. Reno/Tahoe, Nevada, 2010. ACM. URL: https://doi.org/10.1145/1869459.1869497, doi:10.1145/1869459.1869497. ↩
Markus Völter, Sebastian Benz, Christian Dietrich, Birgit Engelmann, Mats Helander, Lennart C. L. Kats, Eelco Visser, and Guido Wachsmuth. DSL Engineering - Designing, Implementing and Using Domain-Specific Languages. dslbook.org, 2013. ISBN 978-1-4812-1858-0. URL: http://www.dslbook.org. ↩
Guido Wachsmuth, Gabriël Konat, and Eelco Visser. Language design with the spoofax language workbench. IEEE Software, 31(5):35–43, 2014. URL: http://dx.doi.org/10.1109/MS.2014.100, doi:10.1109/MS.2014.100. ↩
Sebastian Erdweg, Tijs van der Storm, Markus Völter, Meinte Boersma, Remi Bosman, William R. Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly, Alex Loh, Gabriël Konat, Pedro J. Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad A. Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, and Jimi van der Woning. The state of the art in language workbenches - conclusions from the language workbench challenge. In Martin Erwig, Richard F. Paige, and Eric Van Wyk, editors, Software Language Engineering - 6th International Conference, SLE 2013, Indianapolis, IN, USA, October 26-28, 2013. Proceedings, volume 8225 of Lecture Notes in Computer Science, 197–217. Springer, 2013. URL: http://dx.doi.org/10.1007/978-3-319-02654-1_11, doi:10.1007/978-3-319-02654-1_11. ↩
Sebastian Erdweg, Tijs van der Storm, Markus Völter, Laurence Tratt, Remi Bosman, William R. Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly, Alex Loh, Gabriël Konat, Pedro J. Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad A. Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, and Jimi van der Woning. Evaluating and comparing language workbenches: existing results and benchmarks for the future. Computer Languages, Systems & Structures, 44:24–47, 2015. URL: http://dx.doi.org/10.1016/j.cl.2015.08.007, doi:10.1016/j.cl.2015.08.007. ↩