JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 1
CARRERA: ING. EN SISTEMAS COMPUTACIONALES
MATERIA: LENGUAJE AUTOMATA
PROFESOR: PEDRO TELLEZ
TEMA: FORMA BNF,FN CHOMSKY, GREIBACH
ALUMNO: JOEL HERMIDA MAGAA
LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 2
INTRODUCCIN
En estos tres temas que a continuacin estudiaremos comprenderemos un poco de lo que es la gramtica libre de contexto, donde la gramtica es formal y tienen su regla de produccin definidas por un smbolo no terminal y una cadena de caracteres, sus diferentes formas de expresinpeden ir acompaadas de simbolos, letras,variables, etc. su tipo de lenguajes de manera formal varia de acuerdo a cada una de las sintaxis de cada forma, como se escribe y como se lee.
Es decir que cada una de las tres formas en nuestra actualidad son utilizadas para el lenguaje de programas de computadoras, protocolos de comunicaciones o para representar parte de la semntica de la lengua natural.
LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 3
NOTACIN DE BACKUS-NAUR La notacin de Backus-Naur, tambin conocida por sus denominaciones inglesas Backus- Naur form (BNF), Backus-Naur formalism o Backus normal form, es una metasintaxis usada para expresar gramticas libres de contexto: es decir, una manera formal de describir lenguajes formales. El BNF se utiliza extensamente como notacin para las gramticas de los lenguajes de programacin de la computadora, de lossistemas de comando y de los protocolos de comunicacin, as como una notacin para representar partes de las gramticas de lalengua natural (por ejemplo, el metro en la poesa de Venpa). La mayora de los libros de textos para la teora o la semntica del lenguaje de programacin documentan el lenguaje de programacin en BNF. Algunas variantes, tales como la Augmented Backus-Naur form (ABNF) y la Extended BackusNaur Form (EBNF), tienen su propia documentacin. Historia La idea de transcribir la estructura del lenguaje con reglas de reescritura se remontan cuando menos al trabajo del gramtico indioPanini (hacia el 460 a. C.), que la utiliz en su descripcin de la estructura de palabras del idioma snscrito (algunos incluso han sugerido renombrar BNF a Forma Panini-Backus). Lingstas estadounidenses como Leonard Bloomfield y Zellig Harris llevaron esta idea un paso ms adelante al tratar de formalizar el lenguaje y su estudio en trminos de definiciones formales y procedimientos (1920-1960). Noam Chomsky, maestro de lingstica de alumnos de teora de la informacin del MIT, combin la lingstica y las matemticas, tomando esencialmente el formalismo de Axel Thue como la base de su descripcin de la sintaxis del lenguaje natural. Tambin introdujo una clara distincin entre reglas generativas (de la gramtica libre de contexto) y reglas transformativas (1956). John Backus, un diseanor de lenguajes de programacin de IBM, adopt las reglas generativas de Chomsky para describir la sintaxis del nuevo lenguaje de programacin IAL, conocido en la actualidad como ALGOL 58 (1959), presentando en el primer Congreso de Computacin Mundial (World Computer Congress) el artculo "The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference". LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 4
Peter Naur, en su reporte sobre ALGOL 60 de 1963, identific la notacin de Backus como la Forma Normal de Backus (Backus Normal Form), y la simplific para usar un conjunto de smbolos menor, pero a sugerencia de Donald Knuth, su apellido fue agregado en reconocimiento a su contribucin, reemplazando la palabra "Normal" por Naur, dado que no se trata de una forma normal en ningn sentido, a diferencia, por ejemplo de la Forma Normal de Chomsky. 1
ESPECIFICACION Una especificacin de BNF es un sistema de reglas de derivacin, escrito como: <simbolo> ::= <expresin con smbolos> donde <smbolo> es un no terminal, y la expresin consiste en secuencias de smbolos o secuencias separadas por la barra vertical, '|', indicando una opcin, el conjunto es una posible substitucin para el smbolo a la izquierda. Los smbolos que nunca aparecen en un lado izquierdo son terminales.
Ejemplo Como ejemplo, considere este BNF para una direccin postal de los EE.UU. <direccin postal> ::= <nombre> <direccin> <apartado postal> <personal> ::= <primer nombre> | <inicial> "." <nombre> ::= <personal> <apellido> [<trato>] <EOL> | <personal> <nombre> <direccin> ::= [<dpto>] <nmero de la casa> <nombre de la calle> <EOL> <apartado postal> ::= <ciudad> "," <cdigo estado> <cdigo postal> <EOL> Esto se traduce a espaol como: Una direccin postal consiste en un nombre, seguido por una direccin, seguida por un apartado postal. Una parte "personal" consiste en un nombre o una inicial seguido(a) por un punto. Un nombre consiste de: una parte personal seguida por un apellido seguido opcionalmente por una jerarqua o el trato que se la da a la persona (Jr., Sr., o LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 5
nmero dinstico) y un salto de lnea (end-of-line), o bien una parte personal seguida por un nombre (esta regla ilustra el uso de la repeticin en BNFs, cubriendo el caso de la gente que utiliza mltiples nombres y los nombres medios o las iniciales). Una direccin consiste de una especificacin opcional del departamento, seguido de un nmero de casa, seguido por el nombre de la calle, seguido por un salto de lnea (end-of-line). Un apartado postal consiste de una ciudad, seguida por una coma, seguida por un cdigo del estado (recuerde que es un ejemplo que ocurre en EE.UU.), seguido por un cdigo postal y este seguido por un salto de lnea (end-of-line).
FORMA NORMAL DE CHOMSKY Una gramtica formal est en Forma normal de Chomsky si todas sus reglas de produccin son de alguna de las siguientes formas: o o donde , y son smbolos no terminales (o variables) y es un smbolo terminal. Todo lenguaje independiente del contexto que no posee a la cadena vaca, es expresable por medio de una gramtica en forma normal de Chomsky (GFNCH) y recprocamente. Adems, dada una gramtica independiente del contexto, es posible algortmicamente producir una GFNCH equivalente, es decir, que genera el mismo lenguaje. Definicin Alternativa En algunos textos se puede encontrar una definicin de una GFNCH de forma que cualquier GFNCH produzca cualquier lenguaje independiente del contexto y de la misma manera, que para cualquier lenguaje independiente del contexto exista una GFNCH que lo defina. Esta definicin apenas se diferencia en permitir una regla de la siguiente forma: o o
LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 6
donde es el smbolo distinguido (o inicial) de la gramtica, es un smbolo no terminal (o variable), y tambin son smbolos no terminales pero distintos de , es un smbolo terminal, y es la cadena nula (o vaca). GREIBACH
SHEILA ADELE GREIBACH (NACIDO EN 1939) es investigador en lenguajes formales y autmatas y compilador de la teora, en particular, yciencias de la computacin en general. En la actualidad es profesor de Ciencias de la Computacin en la Universidad de California en Los ngeles . Ella trabaj con Seymour Ginsburg y Harrison Michael en el anlisis contextual utilizando el autmata de pila modelo. Adems de establecer la forma normal ( forma normal Greibach ) para gramticas libres de contexto actual con su nombre, en 1965, que tambin investig las propiedades de W- gramticas y autmatas pushdown y problemas de decidibilidad . Primeros aos En 1960 obtuvo su grado AB en el Radcliffe College de la lingstica y Matemticas Aplicadas ( summa cum laude ), y, posteriormente, su grado de AM en 1962. En 1963, logr su doctorado en la Universidad de Harvard , bajo los auspicios de Anthony Oettinger . El ttulo de su tesis doctoral es "Lo contrario de Generadores sintagmticas". Ella continu trabajando en la Universidad de Harvard en la Divisin de Ingeniera y Fsica Aplicada, hasta que en 1969 cambi a la Universidad de California en Los ngeles (UCLA), donde ha sido profesor desde 1970 hasta la actualidad, a partir de mayo de 2011 FORMA NORMAL DE GREIBACH Una gramtica independiente del contexto (GIC) est en Forma normal de Greibach (FNG) si todas y cada una de sus reglas de produccin tienen un consecuente que empieza por un carcter del alfabeto, tambin llamado smbolo terminal. Formalmente, cualquiera de las reglas tendr la estructura: A > aw Donde "A" es el antecedente de la regla, que en el caso de las GIC debe ser necesariamente un solo smbolo auxiliar. Por su parte, "a" es el mencionado comienzo del consecuente y, por tanto, un smbolo terminal. Finalmente, "w" representa una concatenacin genrica de LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 7
elementos gramaticales, esto es, una sucesin exclusivamente de auxiliares, inclusive, pudiera ser la palabra vaca; en este caso particular, se tendra una regla llamada "terminal": A > a Existe un teorema que prueba que cualquier GIC, cuyo lenguaje no contiene a la palabra vaca, si no lo est ya, se puede transformar en otra equivalente que s est en FNG. Para su demostracin, normalmente, se procede por construccin, es decir, se plantea directamente un algoritmo capaz de obtener la FNG a partir de una GIC dada.
LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 8
CONCLUSIN Podemos decir que la forma (BNF) es una de las mas explicita en su manera de representar la gramtica libre de contexto ya que es la que mas se utiliza en lenguajes de programacin para hacer y expresar la estructura de cada uno de ellos como se muestra en el ejemplo de la informacin donde podemos visualizar la estructura de con smbolos y despus se describe en el lenguaje normal, mientras que la forma normal de Chomsky se basa en sus reglas de produccin y se expresa recprocamente y algortmicamente es posible producir una forma normal de Chomsky equivalente a la primera mientras que en las otras no, mientras que para la de greibach sus reglas de produccin tiene un consecuente que empieza por un carcter del alfabeto llamado smbolo terminal que va desde la a hasta la w y pues todas las formas tienen como objetivo demostrar la manera en que se expresa la gramatica ya sea en lenguajes de programacin, pero cada una tiene sus reglas de produccin.
LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 9
COMENTARIOS PERSONALES En lo personal puedo decir que al hablar de gramatica libre de contexto y de las tres distintas formas que se mencionan puedo comprender a un mas los diferentes lenguajes de programacin que existen asi como sus estructuras, su simbologa y como esta expresado en lenguaje normal pero cuando nos vamos a la gramatica cambia su manera de expresin por que lleva simbolos y letras deacuerdo a lo que se quiera expresar, segn las reglas de la gramatica. Es lo que yo e comprendido de estos temas y lo que puedo compartir, espero sirva de algo.
LENGUAJES AUTOMATAS
JOEL HERMIDA MAGAA ( ING.SISTEMAS COMPUTACIONALES) Pgina 10