Luís Eduardo Amorim de Souza, Eelco Visser. Multi-Purpose Syntax Definition with SDF3. In Software Engineering and Formal Methods - 18th International Conference, SEFM 2020. Lecture Notes in Computer Science, Springer, 2020.
SDF3 is a syntax definition formalism that extends plain context-free grammars with features such as constructor declarations, declarative disambiguation rules, character-level grammars, permissive syntax, layout constraints, formatting templates, placeholder syntax, and modular composition. These features support the multi-purpose interpretation of syntax definitions, including derivation of type schemas for abstract syntax tree representations, scannerless generalized parsing of the full class of context-free grammars, error recovery, layout-sensitive parsing, parenthesization and formatting, and syntactic completion. This paper gives a high level overview of SDF3 by means of examples and provides a guide to the literature for further details.