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 de producción pueden contener espacios.
• Los símbolos terminales se representan con 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 ([]) se manejan para elementos auxiliares.
• 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?
Top Related