martes, 29 de mayo de 2007

TAREA 7.a

El Backus-Naur form (BNF)

Conocido también como Backus-Naur formalism, Backus normal form o Panini-Backus Form es una metasintaxis usada para expresar gramáticas libres de contexto.

BNF se utiliza extensamente como notación para las gramáticas de los lenguajes de programación de la computadora, de los sistemas de comando y de los protocolos de comunicación, así como una notación para representar partes de las gramáticas de la lengua natural.

El BNF fue nombrado originalmente después de que John Backus y más adelante (con la sugerencia de Donald Knuth) también después de Peter Naur. Eran dos pioneros en informática, especialmente en el arte del diseño del compilador. La Backus-Naur Form o las gramáticas de BNF tiene semejanzas significativas a las reglas de la gramática de Pāini, y a veces también se conoce como Panini-Backus Form . El BNF fue creado como parte de crear las reglas para ALGOL 60.

Una especificación de BNF es un sistema de reglas de la derivación, escrito como

::=

donde es un noqnterminal, y la expresión consiste en secuencias de símbolos y/o secuencias separadas por la barra vertical, '|', indicando una opción, el conjunto es una posible substitución para el símbolo a la izquierda. Los símbolos que nunca aparecen en un lado izquierdo son terminales.

Hay muchas variantes y extensiones de BNF, posiblemente conteniendo algunos o todos los comodines de expresiones regulares como un "*" o "+". El Extended Backus-Naur form (EBNF) es una variante común. De hecho el ejemplo anterior no es la forma pura inventada para el informe del ALGOL 60. La notación de los corchetes "[ ]" fue introducida algunos años más tarde en la definición de PL/I de la IBM pero ahora se reconoce universal. La ABNF es otra extensión usada comúnmente para describir protocolos del IETF.

Las expresiones gramaticales de analizadores sintácticos construidas en BNF y las notaciones de expresión regular para formar una clase alternativa de la gramática formal, que es esencialmente analítica más que generativa en carácter.

TAREA 7.b

Obtener la GLC para el lenguajes de los parentesis bien balanceados con operacion de suma y resta:

1.- A -> A + B
2.- A -> (B)
3.- A -> C
4.- B -> A*B
5.- B -> A
6.- C -> CN
7.- N -> 0|1|2|3|4|5|6|7|8|9

martes, 22 de mayo de 2007

TAREA 6

TAREA 6
Obtener el AF equivalente de la siguiente ER:
1.- (ab + cb)*bc + a*c(ba + ca) + ^ + (a* + bc) ab*
2.- (a* + b*)*
3.- (c + ba)*aa(ab + c)*
Obtener la ER equivalente al AF mostardo
4.-
5.-

RESULTADOS:












jueves, 3 de mayo de 2007

Tarea 5

Diseñe la ER que construye el lenguaje en {a,b,c} en el que las palabras deben empezar con “abc”, contienen dos veces la subcadena “aca” y terminan en “cba”.

abc aca aca cba

abc * ((ab + b + c) * (a + ^)) * aca * ((ab + b + c) * (a + ^)) * aca *((a + b + ca) * (c + ^)) * cba

miércoles, 18 de abril de 2007

TAREA 4

Tarea 4 del 17 de Abril del 2007.
Diseñar el AFN que acepta el lenguaje {a,b} que acepta las palabras que tienen longitud par y contienen la subcadena "aba", cadena vacía se considera impar de longitud.



jueves, 22 de marzo de 2007

TAREA 3

Primer punto:

Diseñar por método de conjuntos de estados el AFD en {a,b} que empiezan con "abb" y no terminan con "baa"





SEGUNDO PUNTO:

Diseñar por método de conjuntos de estados el AFD en { B, ^^, <>} en la cual las palabras que contienen BB no cotienen la subcadena: <>^^





miércoles, 7 de marzo de 2007

TAREA 2

1.- Diseñar el AFD que en Σ = {a, b}, acepta las palabras que contienen exactamente 3 b’s.

Ejemplos de palabras aceptadas:
babab, bbb, ababb, …

Ejemplos de palabras no aceptadas:
Abb, baaaba, b,bba, …

http://mx.geocities.com/ed_gr_ch/AFD_01.bmp


2.- Diseñar el AFD que en Σ = {a, b}, acepta las palabras que tienen como longitud 6.

Ejemplos de palabras aceptadas:
Abbaba, bbbaaa, babbaa, …

Ejemplos de palabras no aceptadas:
Ab, a, b, babababbaba, …

http://mx.geocities.com/ed_gr_ch/AFD_02.bmp