
El Formalismo de Definición Sintáctica ( SDF ) es una metasintaxis que se utiliza 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. [ 1 ] Un analizador sintáctico y un generador de analizadores sintácticos para especificaciones SDF se proporcionan como parte del entorno meta ASF+SDF gratuito . Estos operan utilizando el analizador sintáctico SGLR ( Scannerless GLR parser ). Un analizador sintáctico SDF genera árboles de análisis sintáctico o, en caso de ambigüedades , bosques de análisis sintáctico.
Descripción general
Características de SDF:
- Admite toda la gama de lenguajes libres de contexto.
- Permite definiciones de sintaxis modulares (las gramáticas pueden importar subgramáticas), lo que posibilita la reutilización.
- Admite anotaciones
Ejemplos
El siguiente ejemplo define una sintaxis sencilla para expresiones booleanas en SDF2:
módulo básico/booleanos exportaciones ordenar booleano símbolos de inicio sin contexto booleano sintaxis libre de contexto "verdadero" -> Booleano "falso" -> Booleano lhs: Booleano "|" rhs: Booleano -> Booleano {izquierda} lhs: Booleano "&" rhs: Booleano -> Booleano {izquierda} "no" "(" Booleano ")" -> Booleano "(" Booleano ")" -> Booleano prioridades libres de contexto Booleano "&" Booleano -> Booleano > Booleano "|" Booleano -> BooleanoSistemas de análisis y transformación de programas mediante SDF
- El entorno meta ASF+SDF proporciona SDF
- RascalMPL
- Spoofax/IMP
- Stratego/XT
- Strafunski
Véase también
Referencias
- ↑ sleconf.org
Lecturas adicionales
- Una introducción rápida a SDF, Visser, J. y Scheerder, J. (2000) CWI
- La sintaxis Definición Formalismo SDF, Mark van den Brand, Paul Klint, Jurgen Vinju (2007) CWI
Enlaces externos
- Kit de implementación gramatical
- SdfMetz calcula métricas para gramáticas SDF.
- Descargue SDF desde la página principal del entorno meta ASF+SDF.
- generadores de analizadores sintácticos
- Lenguajes de programación con sintaxis extensible
- Implementación del lenguaje de programación
- esbozos de informática