Está en la página 1de 6

Lenguajes formales. Existen dos tipos bsicos y reconocidos de lenguajes: los lenguajes naturales y los lenguajes formales.

El origen y desarrollo de los primeros, como pueden ser el castellano, el ingls o el francs, es natural, es decir, sin el control de ninguna teora. Las teoras de lenguajes naturales y las gramticas, fueron establecidas a priori, esto es, despus de que el lenguaje haba ya madurado. Por otro lado, los lenguajes formales como las matemticas y la lgica, fueron desarrollados generalmente a travs del establecimiento de una teora, la cual le da las bases para dichos lenguajes. Las lenguas son sistemas ms o menos complejos, que asocian contenidos de pensamiento y significacin a manifestaciones simblicas tanto orales como escritas. Aunque en sentido estricto, el lenguaje sera la capacidad humana para comunicarse mediante lenguas, se suele usar para denotar los mecanismos de comunicacin no humanos (el lenguaje de las abejas o el de los delfines), o los creados por los hombres con fines especficos (los lenguajes de programacin, los lenguajes de la lgica, los lenguajes de la aritmtica...). Nosotros, vamos a definir el lenguaje como un conjunto de palabras. Cada lenguaje est compuesto por secuencias de smbolos tomados de alguna coleccin finita. En el caso de cualquier lengua natural (castellano, ingls, francs...), la coleccin finita es el conjunto de las letras del alfabeto junto con los smbolos que se usan para construir palabras (tales como el guin, el apstrofe en el caso del ingls...). De forma similar, la representacin de enteros, son secuencias de caracteres del conjunto de los dgitos {0,1,2,3,4,5,6,7,8,9}. Un conjunto no vaco y finito de smbolos se conoce como alfabeto. Si es un alfabeto, y denota que es un smbolo de . Por tanto, si = {0,1,2,3,4,5,6,7,8,9}, podemos decir que 0 . Obsrvese, que puesto que un alfabeto es simplemente un conjunto finito no vaco, dados 1 y 2 alfabetos, se tiene que 12 tambin lo es. Es ms, 2 1 , 2 1 y 1 2 , tambin son alfabetos. Una secuencia finita de smbolos de un determinado alfabeto, se conoce como palabra sobre dicho alfabeto. Nuestra experiencia, nos lleva a identificar el trmino palabra con las palabras de cualquier lenguaje natural, por esta razn, a menudo se usa el trmino cadena en lugar de palabra, con el fin de evitar esta idea preconcebida. Se tratarn igual los trminos cadena y palabra. Cada smbolo de un alfabeto, es una cadena sobre dicho alfabeto. La cadena vaca, es una palabra sobre cualquier alfabeto. La palabra vaca, es una secuencia vaca de smbolos, tomados de cualquiera que sea el alfabeto en cuestin. Los lenguajes, pueden ser bastante grandes, como lo es el caso de todas las palabras "correctas" que se pueden formar en castellano sobre el alfabeto castellano. Dado que un lenguaje es un conjunto de cadenas, se puede tener el

lenguaje compuesto por ninguna cadena, el lenguaje vaco. ste, no es el mismo lenguaje que el que consta de la cadena vaca. Propiedades de los lenguajes formales La definicin de una teora de un lenguaje formal dado, precedi a su definicin intensiva, como hemos llamado antes al establecimiento de una serie de propiedades o frmulas, que definan unvocamente las oraciones correctas que componen un lenguaje natural. El proceso de generacin y desarrollo de un lenguaje formal, es inverso al de los lenguajes naturales, consecuentemente, las palabras y las oraciones de un lenguaje formal, son perfectamente definidas: una palabra mantiene el mismo significado prescindiendo del contexto en el que se encuentre. Como resultado de este proceso, obtendremos las llamadas gramticas libres del contexto. En adicin, el significado de smbolos es determinado exclusivamente por la sintaxis, sin referencia a ningn contenido semntico. Una funcin y una frmula, puede designar cualquier cosa, solamente los operadores y relaciones que nos permiten escribir una frmula como por ejemplo la igualdad, desigualdad, pertenencia, no pertenencia, conectivos lgicos, etc., y operadores algebraicos +, *, etc., tienen significados especiales. Los lenguajes formales son, por todo esto, necesariamente exentos de cualquier componente semntico fuera de sus operadores y relaciones, y es gracias a esta ausencia de significado especial, que los lenguajes formales pueden ser usados para modelar una teora de la mecnica, de la ingeniera electrnica, etc., en la lingstica u otra naturaleza, la cual asume el estatus del componente semntico de tal lenguaje. Esto equivale a decir, que durante la concepcin de lenguajes formales, toda la ambigedad anteriormente expuesta respecto a la semntica de una palabra, es anulada, es como si esta reduccin al significado nico debe manifestarse por s mismo, como la eliminacin del mundo de significados en el proceso de construir las frmulas, al tiempo que se toca el nivel abstracto de estas construcciones. Es solamente, por medio de un paso adicional, que el significado es asignado a las frmulas. Este paso, nos permite la posibilidad de asignar un criterio falso/cierto a cada frmula. El mundo de significados que es el componente semntico, solo existe en la teora que uno intenta expresar a travs del lenguaje formal. Por ejemplo, un componente semntico normalmente asociado con el lenguaje formal de una teora cnica, es el movimiento de los cuerpos celestes, as mismo, sistemas lineales de todas las rdenes, son posibles componentes semnticos de teora de matrices. No podemos evitar mencionar, la importancia de los nmeros en lenguajes formales. En un sistema numrico, as como en un sistema de clculo, los nmeros siempre tienen el potencial de referir un cierto "contenido", el cual pertenecer entonces al componente semntico del lenguaje: los objetos posibles

cuando son contables o medibles. La asociacin de un significado con un nmero o con un clculo, no siempre es obvio, sin embargo, es til recordar, que en fsica, cuando se completa un clculo y se busca una interpretacin del mismo, solamente se mantienen los nmeros positivos de los resultados, ya que las soluciones negativas o imaginarias a las ecuaciones que se supone describen la realidad, son la mayora de las veces rechazadas, porque no corresponden con la "realidad fsica". En resumen, los lenguajes formales, se caracterizan con las siguientes propiedades: Se desarrollan a partir de una teora establecida. Tienen un componente semntico mnimo. Posibilidad de incrementar el componente semntico de acuerdo con la teora a formalizar. La sintaxis produce oraciones no ambiguas, en lo que respecta al significado de sus palabras. Completa formalizacin, y por esto, el potencial de la construccin computacional.

DEFINICIN DE UNA GRAMTICA El paradigma formal ms famoso y rpidamente desarrollado para la caracterizacin de lenguajes, es el derivado del concepto de gramtica generativa de Noam Chomsky. En Chomsky[56], este celebrrimo lingista norteamericano que intent formalizar los lenguajes naturales, partiendo de que un lenguaje L es un subconjunto de todas las secuencias (finitas o no), que podemos formar mediante la concatenacin de los elementos de un alfabeto, define la gramtica mediante la cuaterna siguiente: : vocabulario finito de smbolos Terminales. stos son los smbolos que realmente aparecen en una frase. Nunca aparecern en el lado izquierdo de una produccin (lo cual definiremos ms adelante dentro de esta cuaterna). Los smbolos terminales deben ser smbolos vlidos del lenguaje. N : conjunto finito de smbolos No Terminales, los cuales son metasmbolos que deben ser definidos por otras producciones (o reglas gramaticales), es decir, que tambin aparecen en el lado izquierdo de las mismas. Los smbolos No Terminales se pueden definir como variables sintcticas. S : un smbolo No Terminal bsico (axiomtico, segn la definicin de Chomsky). Ser el smbolo principal o axioma que describir oraciones enteras (y no subcadenas, como describen los smbolos No Terminales) de un lenguaje natural. P : conjunto, tambin finito, de reglas que nos dicen cmo se pueden generar las oraciones, cmo partiendo del axioma, podemos llegar a la oracin terminal. Este conjunto ser un simple subconjunto de: P (N )*N(N )*(N )*

lo cual, expresado en una notacin ms clsica en lingstica sera: A = donde: AN ,, (N )* siendo posible que tanto como sean iguales a la cadena nula. El lenguaje L as definido, se obtendra aplicando el siguiente procedimiento no algortmico (no garantiza tiempo finito para una gramtica genrica): S es una forma oracional. Si es una forma oracional, y = pertenece a P, tambin ser forma oracional. Una forma oracional compuesta nicamente por smbolos Terminales, constituir una oracin del lenguaje.

JERARQUA DE CHOMSKY A fin de precisar ms qu tipo de gramtica es capaz de generar un lenguaje lo ms parecido posible a los naturales, Chomsky clasific las gramticas y lenguajes dentro de cuatro familias jerrquicamente ordenadas como modelos potenciales del lenguaje natural. Esta clasificacin, conocida como jerarqua de Chomsky, se establece aumentando las restricciones sobre la forma de las producciones. As pues, tenemos: Gramtica sin restricciones Tipo 0 Gramticas sensitivas al contexto Tipo 1 Gramticas libres de contexto Tipo 2 Gramticas regulares Tipo 3

Las restricciones colocadas en las reglas, aumenta con el nmero de la gramtica. Tipo 0 Las gramticas de tipo 0, son gramticas sin restricciones, es decir, no hay restricciones ni para el lado izquierdo, ni para el lado derecho de las producciones. Su potencia es la de una mquina de Turing, y sus reglas son del tipo: = No existe algoritmo que en tiempo finito nos diga si una cadena obedece o no las reglas de una gramtica de reescritura tan generalizada.

Cuando Chomsky formul sus objeciones a las gramticas de estructura de sintagma (tipo 2), propuso la utilizacin de reglas de tipo 0 para el reordenamiento, elisin, etc., de elementos. La no existencia de algoritmo de parsing, mostraba que su potencia superaba en mucho a las lenguas naturales, y el formato de las reglas de reescritura se limit mucho (los clsicos movimientos de sintagmas por tematizacin, interrogacin...). Una gramtica sin restricciones, es una cuaterna de la forma (V, , P, S), donde V es un conjunto de variables o no terminales, (el alf abeto) es un conjunto finito de smbolos terminales, P es un conjunto finito de reglas, y S es un elemento de V llamado el smbolo inicial o axioma de la gramtica. Una produccin de una gramtica de este tipo, tiene la forma que ya hemos visto anteriormente ( = ), donde + (V ) y donde * (V ) . Los conjuntos V y son disjuntos. Escribir un analizador sintctico para una gramtica de tipo 0, sera una tarea muy ardua. Tipo 1 Contiene reglas que se ajustan a: A = Este tipo de producciones, implica que las sustituciones slo pueden efectuarse en cierto contexto (el smbolo 'A' se podr sustituir por ' ' si y slo si, est precedido por ' ', y le sigue ' '), esto es, son gramticas sensibles al contexto, por tanto, pueden hacer que un sintagma sea sistemticamente igual a otro. La complejidad de su parsing es exponencial con la longitud de la cadena de entrada (lo cual es inaceptable con fines de reconocimiento). Este tipo de gramticas son las de menor xito en toda la jerarqua. Tipo 2 Describen los llamados lenguajes de contexto libre, es decir, en ellos se pueden insertar proposiciones dentro de proposiciones, independientemente del contexto de la oracin. De acuerdo con Chomsky, una gramtica y su lenguaje correspondiente son independientes del contexto, si y slo si pueden definirse con un conjunto de producciones independientes del contexto. Las gramticas de contexto libre (o independientes del contexto), son muy importantes en la teora de los lenguajes de programacin, ya que los lenguajes que definen, tienen en general, una estructura muy sencilla. Las tcnicas de anlisis sintctico, suelen basarse en gramticas de contexto libre. El formato de las producciones segn Chomsky ser: A= donde es una cadena, vaca o no, de smbolos terminales o no terminales.

Equivale en cuanto a potencia descriptiva, al autmata con pila o Pushdown, y nos permite describir adecuadamente las relaciones intra e inter-sintagmticas de la lengua natural: Concordancia sujeto-verbo. Concordancia sujeto-atributo. Insercin de proposiciones en posibles centrales. Etc.

La representacin grfica de un anlisis de contexto libre es el tpico rbol sintctico, con los smbolos no terminales en los nodos intermedios, y los smbolos terminales en los nodos finales. Tipo 3 Es el descriptivamente ms dbil. Sus reglas poseen el siguiente formato: A = aB donde B puede existir o no. Equivalen en cuanto a poder descriptivo, a los autmatas finitos deterministas y no deterministas. Dado un lenguaje regular, que es aquel que es posible caracterizar usando una gramtica de tipo 3, siempre ser posible hallar su autmata equivalente. Cada smbolo no terminal es un estado, cada regla A = aB, una rama que conecta los estados A y B por medio del smbolo terminal a, y cada regla A = a, nos dice que A se une al estado final del smbolo a. Dada la sencillez estructural de estos lenguajes, la notacin chomskiana resulta pesada, por lo que utilizaremos una ms compacta para la expresin de lenguajes regulares como es la BNF, ya explicada anteriormente.

También podría gustarte