EBNF M C Juan Carlos Olivares Rojas EBNF
EBNF M. C. Juan Carlos Olivares Rojas
EBNF • Extended Backus Naur Form es una metasintaxis ampliamente utilizada que mejora a su antecesor BNF. • Ha cambiado la forma de realizar la especificación de las reglas de producción de la gramática. • La motivación para usar EBNF radica que con BNF los elementos repetitivos necesitan de más reglas de producción para trabajar.
EBNF • Las reglas espacios. de producción pueden contener • Los símbolos terminales se representan comillas dobles (“”) cuando representan un símbolo del alfabeto y comillas simples (‘’) para representar cadenas • El operador de producción ahora es el símbolo de igual (=)
EBNF • Se recomienda escribir los símbolos no terminales en minúsculas. • Cada regla de producción termina con el símbolo de punto y com (; ). • El operador | indica una alternativa de regla de producción.
EBNF digito sin cero = “ 1” | “ 2” | “ 3” | “ 4” | “ 5” | “ 6” | “ 7” | “ 8” | “ 9”; digito = “ 0” | digito sin cero • Las comas (, ) sirven para separar tanto terminales como no terminales de las reglas de producción. • Las llaves ({}) indican elementos repetitivos (operador estrella: *)
EBNF natural = digito sin cero, {digito}; • Los corchetes ([]) elementos auxiliares. se manejan para • entero = “ 0” | [“-”], natural • Entre símbolos de interrogación (? ) se pueden poner símbolos especiales.
EBNF • Un espacio en blanco se define como: espacio = ? US-ASCII character 32 ? ; • Se pueden poner comentarios con los símbolos (* comentario *) • Los paréntesis “(” y “)” se utilizan para agrupar símbolos. El símbolo “-” sirve para expresar excepciones.
EBNF • Se utiliza “*” para indicar repeticion, por ejemplo • regla = “A”; • repetición = 3 * aa, “B”; • Si se deriva la regla de producción repetición la cadena generada sería: AAAB
EBNF • Se pueden anidar operadores como *, {} y [] para lograr cualquier tipo de repetición. • Tanto BNF como EBNF pueden determinar cualquier tipo de gramática, sencillamente EBNF permite simplificar y tener menos ambigüedad en la metasintaxis.
Referencias • EBNF, Wikipedia la Enciclopedia Libre, http: //www. wikipedia. org/ Recuperado en octubre de 2007.
¿Preguntas?
- Slides: 11