La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

M.C. Juan Carlos Olivares Rojas

Presentaciones similares


Presentación del tema: "M.C. Juan Carlos Olivares Rojas"— Transcripción de la presentación:

1 M.C. Juan Carlos Olivares Rojas
EBNF M.C. Juan Carlos Olivares Rojas

2 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.

3 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 (=)

4 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.

5 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: *)

6 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.

7 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.

8 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

9 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.

10 Referencias EBNF, Wikipedia la Enciclopedia Libre, Recuperado en octubre de 2007.

11 ¿Preguntas?


Descargar ppt "M.C. Juan Carlos Olivares Rojas"

Presentaciones similares


Anuncios Google