VOOZH about

URL: https://en.wikipedia.org/wiki/Syntax_Definition_Formalism

⇱ Syntax Definition Formalism - Wikipedia


Jump to content
From Wikipedia, the free encyclopedia
šŸ‘ Image
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.[1] 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

[edit]

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

[edit]

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

module basic/Booleans

exports
 sorts Boolean
 context-free start-symbols Boolean

context-free syntax
 "true" -> Boolean
 "false" -> Boolean
 lhs:Boolean "|" rhs:Boolean -> Boolean {left} 
 lhs:Boolean "&" rhs:Boolean -> Boolean {left} 
 "not" "(" Boolean ")" -> Boolean 
 "(" Boolean ")" -> Boolean

 context-free priorities
 Boolean "&" Boolean -> Boolean >
 Boolean "|" Boolean -> Boolean

Program analysis and transformation systems using SDF

[edit]

See also

[edit]

References

[edit]

Further reading

[edit]

External links

[edit]