Syntax Definition Formalism

      The Syntax Definition Formalism (SDF for short) 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 SDF2. 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
      ↑Jump back a section

      Examples

      The following example defines a simple Boolean expression syntax:

      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
      
      ↑Jump back a section

      Program analysis and transformation systems using SDF

      ↑Jump back a section

      External links

      ↑Jump back a section

      Read in another language

      This page is available in 2 languages

      Last modified on 17 March 2013, at 06:30