Escolar Documentos
Profissional Documentos
Cultura Documentos
Trata de la moderna linguistica computacional como una base para el entendimiento de los fundamentos
de los algoritmos. .
Se puede considerar a un automata como un generador de cadenas del lenguaje. Los automatas vienen a
ser mecanismos formales que realizan derivaciones en gramaticas formales. La manera en que las realizan
es mediante la nocion de reconocimiento. Una palabra sera generada en una gramatica si y solo si la
palabra hace transitar al automata correspondiente a sus condiciones terminales. Por esto es que los
automatas son analizadores lexicos (llamados en ingles parsers) de las gramaticas a que corresponden
Los lenguajes y las gramaticas computacionales se pueden ver como una jerarquia que va de lo mas
simple a lo mas complejo.
Definicion de alfabeto
Palabra o cadena
Es la secuencia finita de simbolos de un determinado alfabeto. ejemplo: 'main' es una palabra reservada
del lenguaje 'C'
Definicion de frase
La frase es el conjunto de cadenas que tienen sentido, significado y logica. ejemplo: si A = B entonces C
= D.
Definicion de lenguaje
Es un conjunto de palabras o cadenas sobre un alfabeto. Ejemplo: Lenguaje 'C', Java, Frances, Ingles etc
L1.- Lenguajes Regulares.- Es el conjunto de los lenguajes sobre un alfabeto. Esta formado por: Conjunto
vacio, cadena vacia, en general lenguajes como subconjunto de un alfabeto, como union o concatenacion
de lenguajes y lenguajes universales. Se usan para hacer programas analizadores de texto (compiladores,
L2.- Lenguajes Independientes del contexto.- Es el conjunto de los lenguajes generados por la gramatica
Independiente del contexto (GIC) Donde GIC es una 4-tupla (union de cuatro elementos):
S = Simbolo inicial
a = Es un alfabeto
N = Coleccion finita de no terminales (parte de la cadena que todavia no se ha generado) ejem: un bloque
Begin/end sin terminar
P = Produccion o generacion de cadenas
- La gramatica es un patron particular que nos permite la produccion de cadenas en la generacion de los
lenguajes.
- Estos conceptos se usan principalmente para la derivacion y produccion de cadenas. Hacer lenguajes de
programacion como HTML, ASP, PHP, etc.
- Dependiente del contexto.- Este concepto se aplica a las gramaticas y los lenguajes que restringen la
produccion de cadenas o fraces.
- Independientes del contexto.- Este concepto se aplica a las gramaticas y los lenguajes mas flexibles que
facilitan la generacion de cadenas o fraces y el proceso de compilacion de los lenguajes. Por ejemplo el
lenguaje Java no es un compilador, es independiente del contexto ya que puede ser interpretado por el
navegador y al mismo tiempo compilable por el compilador.
- Lenguajes sensibles al contexto.- Son los lenguajes que estan entre los lenguajes independientes del
contexto y los lenguajes recursivos.
L3.- Lenguajes Recursivos.- Son los lenguajes aceptados por una Maquina de Turing que siempre paran
sobre alguna entrada.- Son los lenguajes que permiten el principio de recursion(procedimintos/ funciones
que se pueden llamar a si mismos) en su gramatica y sintaxis. (no todos los lenguajes son recursivos). En
el algotitmo de las Torres de Hanoi, la recursividad se detiene hasta que encuentra la solucion.
L4.- Lenguajes recursivamente enumerables.- Son los lenguajes recursivos que no son numerables
aceptados por una Maquina de Turing. Numerable = relacion de cadenas con numeros(aceptan en general
cadenas y numeros de manera recursiva)
Las gramaticas formales son sistemas de manipulacion simbolica que permiten generar cadenas de
simbolos, llamadas por esto bien formadas, o bien reconocer cuando una cadena dada esta, en efecto, bien
formada.
Cuando se habla de lenguaje formal se refiere a las especificaciones de la sintaxis y gramatica definida y
que se aplica a un lenguaje
El deseo de formalizar los lenguajes natuarales fue lo que llevo a Noam Chomsky a desarrollar una teoria
de lenguajes formales en 1956. Esta teoria senalo la descripcion finita de los lenguajes infinitos, por
medio de esta representación que adopta la forma de un mecanismo abstracto para generar o reconocer
cualquer cadena del lenguaje, La jerarquizaron es una serie de cuatro clases de lenguajes formales cuya
definicion realizada por Noam Chomsky en 1959 marco el comienzo de la teoria del lenguaje formal que
desde entonces ha sido la base del tema. Estas clases de lenguaje se denominan de tipo 3, tipo 2, tipo 1 y
tipo 0, siendo cada una de ellas una subclase de las siguientes:
Gramaticas Tipo 0: (sin restricciones, recursivas) Es el mas general e incluye todas los lenguajes posibles.
Generan todos los lenguajes que pueden ser reconocidos por la maquina de Turing. Describen cualquier
suceso computable: aquel que mediante un procedimiento es capaz de transformar unas determinadas
entradas a las salidas significativas.
Gramaticas Tipo 2: (independientes de contexto, libre de contexto) Aqui se restringe aun mas la libertad
de la formacion de reglas gramaticales: en los lenguajes de este tipo, el significado de una palabra es
totalmente independiente de su posicion en la frase.
Los lenguajes independientes de contexto constituyen la base teorica para la sintaxis de la mayoria de los
lenguajes de programacion. Definen la sintaxis de las declaraciones, las proposiciones, las expresiones,
etc. (Es decir, la estructura de un programa) Estos lenguajes son todos los lenguajes que pueden ser
reconocidos por los automatas de pila. La sintaxis de Lenguajes de programacion como Pascal, C, etc
estan descritos mediante gramaticas tipo 2, aunque puedan tener aspectos de gramatica Tipo 1.
Gramaticas Tipo 3: (gramaticas regulares) Estos lenguajes son los que pueden ser decididos por un
automata finito (regulas). Los lenguajes regulares se utilizan para definir estructura lexica de los lenguajes
de programacion. Definen la sintaxis de los identificadores, numero, cadenas y otros símbolos basicos del
lenguaje. Son Analizadores Lexicos de compiladores de los lenguajes de programacion.
Todo lenguaje de tipo 3 es de tipo 2, todo lenguaje de tipo 2 es de tipo 1, y todo lenguaje de tipo 1 es de
tipo 0.
Ramon Castro