Formalismo de Definición de Sintaxis - Enciclopedia
El Formalismo de Definición de Sintaxis (SDF) es un metasintaxis utilizado para definir gramáticas libres de contexto: es decir, una manera formal de describir lenguajes formales. Puede expresar todo el rango de gramáticas libres de contexto. Su versión actual es SDF3. Se proporciona un analizador y un generador de analizadores para especificaciones SDF como parte del entorno gratuito ASF+SDF Meta Environment. Estos operan utilizando el analizador SGLR (Scannerless GLR). Un analizador SDF produce árboles de análisis o, en el caso de ambigüedades, bosques de análisis.
Resumen
Características de SDF:
Soporta todo el rango de lenguajes libres de contexto
Permite definiciones modulares de sintaxis (las gramáticas pueden importar subgramáticas) lo que permite la reutilización
Soporta anotaciones
Ejemplos
El siguiente ejemplo define una sintaxis simple de expresiones booleanas en SDF2:
modulo basic/Booleans
exporta
tipos Boolean
context-free símbolos-iniciales Boolean
context-free sintaxis
"true" -> Boolean
"false" -> Boolean
lhs:Boolean "|" rhs:Boolean -> Boolean {izquierda}
lhs:Boolean "&" rhs:Boolean -> Boolean {izquierda}
"not" "(" Boolean ")" -> Boolean
"(" Boolean ")" -> Boolean
context-free prioridades
Boolean "&" Boolean -> Boolean >
Boolean "|" Boolean -> Boolean
Sistemas de análisis y transformación de programas que utilizan SDF
El entorno ASF+SDF Meta Environment proporciona SDF
RascalMPL
Spoofax/IMP [1]
Stratego/XT
Strafunski
Ver también
GNU bison
ANTLR
Referencias
[1] Spoofax/IMP: un entorno de desarrollo integrado para el desarrollo de herramientas de procesamiento de lenguajes formales.
Leer más
Una Introducción Rápida al SDF, Visser, J. & Scheerder, J. (2000) CWI
El Formalismo de Definición de Sintaxis SDF, Mark van den Brand, Paul Klint, Jurgen Vinju (2007) CWI
Enlaces externos
Kit de Despliegue de Gramáticas
SdfMetz calcula métricas para gramáticas SDF
Descargar SDF desde la página web del entorno ASF+SDF Meta Environment