The ASF+SDF Meta-Environment, a toolset that provides a parser and parser generator for SDF

The Syntax Definition Formalism (SDF) is a metasyntax used to define context-free grammars: that is, a formal way to describe formal languages. It can express the entire range of context-free grammars. Its current version is SDF3. A parser and parser generator for SDF specifications are provided as part of the free ASF+SDF Meta Environment. These operate using the SGLR (Scannerless GLR parser). An SDF parser outputs parse trees or, in the case of ambiguities, parse forests.

Overview

Features of SDF:

  • Supports the entire range of context-free languages
  • Allows modular syntax definitions (grammars can import subgrammars) which enables reuse
  • Supports annotations

Examples

The following example defines a simple Boolean expression syntax in SDF2:

Program analysis and transformation systems using SDF

  • ASF+SDF Meta Environment provides SDF
  • RascalMPL
  • Spoofax/IMP
  • Stratego/XT
  • Strafunski

See also

Further reading

External links

  • computes metrics for SDF grammars
  • Download SDF from the