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. [1] Se proporciona un analizador sintáctico y un generador de analizador sintáctico para especificaciones SDF como parte del metaentorno ASF + SDF gratuito . Estos funcionan con el SGLR ( analizador sintáctico GLR sin escáner ). Un analizador SDF genera un análisis de árboles o, en el caso de ambigüedades , analiza bosques.
Descripción general
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 de
El siguiente ejemplo define una sintaxis de expresión booleana simple en SDF2:
módulo básico / booleanosexportaciones ordena booleano Símbolos de inicio sin contexto Booleanosintaxis libre de contexto "verdadero" -> booleano "falso" -> booleano lhs: booleano "|" rhs: Boolean -> Boolean {izquierda} lhs: Boolean "&" rhs: Boolean -> Boolean {izquierda} "no" "(" Booleano ")" -> Booleano "(" Booleano ")" -> Booleano prioridades libres de contexto Booleano "&" Booleano -> Booleano> Booleano "|" Booleano -> Booleano
Sistemas de análisis y transformación de programas utilizando SDF
Ver también
Referencias
Otras lecturas
enlaces externos
- Kit de implementación de gramática
- SdfMetz calcula métricas para gramáticas SDF
- Descargue SDF de la página de inicio de ASF + SDF Meta Environment