Multi-purpose Syntax Definition with SDF3

Conference Paper (2020)
Author(s)

L.E. De Souza Amorim (Australian National University)

Eelco Visser (TU Delft - Programming Languages)

Research Group
Programming Languages
Copyright
© 2020 L.E. de Souza Amorim, Eelco Visser
DOI related publication
https://doi.org/10.1007/978-3-030-58768-0_1
More Info
expand_more
Publication Year
2020
Language
English
Copyright
© 2020 L.E. de Souza Amorim, Eelco Visser
Research Group
Programming Languages
Volume number
12310
Pages (from-to)
1-23
ISBN (print)
978-3-030-58767-3
ISBN (electronic)
978-3-030-58768-0
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

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.