Syntax Definition
Slides
Further Reading
-
Lennart C. L. Kats and Eelco Visser (2010). The Spoofax Language Workbench. Rules for Declarative Specification of Languages and IDEs. OOPSLA 2010.
This award-winning paper describes the Spoofax Language Workbench. It misses recent additions to Spoofax, but still gives a good summary of its capabilities.
-
Lennart C. L. Kats, Rob Vermaas, and Eelco Visser (2011). Integrated Language Definition Testing. Enabling Test-Driven Language Development. OOPSLA 2011.
This paper describes the Spoofax Testing Language and discusses how to test different language aspects. You can also watch the conference talk by Lennart.
-
Jean-Marie Favre (2004). Foundations of Meta-Pyramids: Languages vs. Metamodels-Episode II. Story of Thotus the Baboon. Dagstuhl Seminar 4101.
This paper explores and explains various relations between languages, language definitions, and language instances. The paper includes examples from natural languages and focusses on modelling languages, meta-models, and models. It can be generalised to software languages, language definitions, and software artefacts.
-
Tobi Vollebregt, Lennart C. L. Kats, and Eelco Visser (2012). Declarative Specification of Template-Based Textual Editors. LDTA 2012.
This paper summarises Tobi’s MSc thesis on syntax templates as means for declarative syntax definitions. It explains how parsers, formatters, and code completion templates can be derived from a single source.
-
Lennart C. L. Kats, Eelco Visser, and Guido Wachsmuth (2010). Declarative Syntax Definition. Paradise Lost and Regained. Onward! 2010.
This essay emphasises the beauty of declarative syntax definitions and discusses the consequences of impure, non-declarative parser definitions.