Formalismo de definición de sintaxis - Syntax Definition Formalism

El formalismo de definición de sintaxis ( SDF ) es una metasintaxis utilizada para definir gramáticas libres de contexto : es decir, una forma formal de describir lenguajes formales. Puede expresar toda la gama de gramáticas libres de contexto . Su versión actual es SDF3. Se proporciona un analizador y un generador de analizador para especificaciones SDF como parte del metaentorno ASF + SDF gratuito . Estos funcionan utilizando el SGLR ( analizador sintáctico GLR sin escáner ). Un analizador SDF genera analizar árboles o, en el caso de ambigüedades , analizar bosques.

Visión de conjunto

Características de SDF:

  • Admite toda la gama de lenguajes sin contexto
  • Permite definiciones de sintaxis modular (las gramáticas pueden importar subgramáticas) lo que permite la reutilización
  • Admite anotaciones

Ejemplos

El siguiente ejemplo define una sintaxis de expresión booleana simple en 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

Sistemas de análisis y transformación de programas utilizando SDF

Ver también

Referencias

Otras lecturas

enlaces externos