Syntax Definition Formalism
In-game article clicks load inline without leaving the challenge.

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