EBNF

11
EBNF M.C. Juan Carlos Olivares Rojas

description

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. - PowerPoint PPT Presentation

Transcript of EBNF

Page 1: EBNF

EBNF

M.C. Juan Carlos Olivares Rojas

Page 2: EBNF

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.

Page 3: EBNF

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

Page 4: EBNF

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.

Page 5: EBNF

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

Page 6: EBNF

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.

Page 7: EBNF

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.

Page 8: EBNF

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

Page 9: EBNF

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.

Page 10: EBNF

Referencias

• EBNF, Wikipedia la Enciclopedia Libre, http://www.wikipedia.org/ Recuperado en octubre de 2007.

Page 11: EBNF

¿Preguntas?