Multi-purpose Syntax Definition with SDF3

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

4 Downloads (Pure)

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.

Original languageEnglish
Title of host publicationSoftware Engineering and Formal Methods
Subtitle of host publication18th International Conference, SEFM 2020, Proceedings
EditorsFrank de Boer, Antonio Cerone
Place of PublicationCham
PublisherSpringer
Pages1-23
Number of pages23
ISBN (Electronic)978-3-030-58768-0
ISBN (Print)978-3-030-58767-3
DOIs
Publication statusPublished - 2020
Event18th International Conference on Software Engineering and Formal Methods, SEFM 2020 - Amsterdam, Netherlands
Duration: 14 Sep 202018 Sep 2020

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
PublisherSpringer
Volume12310
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference18th International Conference on Software Engineering and Formal Methods, SEFM 2020
CountryNetherlands
CityAmsterdam
Period14/09/2018/09/20

Keywords

  • Parsing
  • Programming language
  • Syntax definition

Fingerprint Dive into the research topics of 'Multi-purpose Syntax Definition with SDF3'. Together they form a unique fingerprint.

Cite this