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.


Paper: Luí­s Eduardo Amorim de Souza, Eelco Visser. Multi-Purpose Syntax Definition with SDF3. Software Engineering and Formal Methods - 18th International Conference, SEFM 2020, September 2020. [PDF, doi, bib, researchr]