Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(1)
Asignatura: (3)
LENGUAJES Y AUTMATAS I
Indicador de alcance:
(2)
351-V
2 DE SEPTIEMBRE DE 2016
(6)
Competencia No.:
1
(9)
Evidencia de aprendizaje:
(10)
(5)
Grupo:
Descripcin:
(8)
SELECCIONA INFORMACIN ACERCA DE LOS LENGUAJES FORMALES PARA COMPRENDER LAS FASES
DE UN COMPILADOR Y TRADUCTOR
INVESTIGACIN TEXTUAL
Unidad I
Introduccin a la Teora de Lenguajes Formales
1.1 Alfabeto
Las principales ideas matemticas necesarias para la compresin a la Teora de Autmatas son conceptos
que incluyen grafos, rboles, conjuntos, relaciones, cadenas, lenguajes abstractos e induccin matemtica.
Un "smbolo" es una entidad abstracta. Las letras y los dgitos son ejemplos de smbolos usados con
frecuencia. Una cadena (o palabra) es una secuencia finita de smbolos yuxtapuestos. Por ejemplo a, b y c son
smbolos y casa es una cadena. La longitud de una cadena w que se denota como |w|, es el nmero de smbolos
que componen la cadena. Por ejemplo casa tiene una longitud 4.
LENGUAJES
Y AUTMATAS
I INTRODUCCIN
LAprincipio
TEORAdel
DE
LENGUAJES
2 a
Habitualmente,
se emplean
las letras minsculasAdel
alfabeto
(o dgitos) para designar
los smbolos y las letras minsculas del final del alfabeto, normalmente w, x, y y z, para designar cadenas. La
cadena vaca, denotada por E es aquella que presenta cero apariciones de smbolos, es una cadena que puede
construirse en cualquier alfabeto. La concatenacin de dos cadenas es la cadena que se forma al escribir la
primera seguida de la segunda, sin que haya espacio entre ellas, Por ejemplo la concatenacin de padre y madre
es padre madre. La yuxtaposicin se utiliza como el operador de concatenacin. Esto es si w y x son cadenas,
entonces wx es la concatenacin de estas dos cadenas. La cadena vaca es la identidad para el operador de
concatenacin, es decir Ew = wE para cada cadena de w.
Un alfabeto es un conjunto de smbolos finito y no vaco. Convencionalmente se utiliza el smbolo S
para designar un alfabeto. Un lenguaje es un conjunto de cadenas, todas ellas seleccionadas de un S* donde S
es un determinado alfabeto
El conjunto vaco y el conjunto formado por la cadena vaca { E } son lenguajes.
El conjunto de palndromos (cadenas que se leen igual de izquierda a derecha y viceversa) sobre el
alfabeto {0,1} es un lenguaje infinito. Algunos elementos de este lenguaje son E,0,1, 00, 01,010, y 1101011.
Por consiguiente vemos que el conjunto de todos los palndromos sobre una coleccin finita de smbolos no es,
tcnicamente hablando, un lenguaje, porque sus cadenas no se construyen colectivamente a partir de un
alfabeto.
1.2 Cadenas
Una cadena o palabra sobre un alfabeto . admitimos la existencia de una nica cadena que no tiene smbolos,
la cual se denomina cadena vaca y se denota con . la cadena vaca desempea, en la teora de lenguajes
formales, un papel similar al que desempea el conjunto vaco en la teora de conjuntos.
Longitud de cadena: La longitud de cadena es el nmero de smbolos que contiene. La notacin empleada es la
que es la que se indica en el ejemplo:
Utilizamos las cadenas de los ejemplos:
I abcb I = 4,
I a + 2*b I = 5
I 000111 I = 6
I if a > b then a = b; I = 9
Cadena Vaca: Una cadena vaca es la nica cadena de caracteres de tamao cero. Y la podemos denotar
usualmente con letras o (Griegas).
Tipos de lenguajes
Podemos encontrar varios tipos de lenguajes:
Lenguajes declarativos
Impresoras estticas:
Una impresora esttica analiza un programa y lo imprime de forma que la estructura del programa resulte
claramente visible Concepto encontrado en el libro de Compiladores de Addison Wesley.
Verificadores estticos:
Este verificador lee un programa, lo analiza e intenta descubrir errores potenciales sin correr el programa, algo
muy parecido a la correccin de los editores de texto como Word. Un verificador esttico puede detectar si hay
partes de un programa que nunca se podrn ejecutar o si cierta variable se usa antes de ser definida nos dice
Addison Wesley.
Intrpretes:
En lugar de producir un programa objeto como resultado de una traduccin, un intrprete realiza las
operaciones que implica el programa fuente. Muchas veces los interpretes se usan para ejecutar lenguajes de
rdenes, pues cada operador que se ejecuta en un lenguaje de ordenes suele ser una invocacin de una rutina
compleja, como un editor o un compilador.
Un traductor es un programa que tiene como entrada un texto escrito en un lenguaje (lenguaje fuente) y como
salida produce un texto escrito en un lenguaje (lenguaje objeto) que preserva el significado de origen. Ejemplos
de traductores son los ensambladores y los compiladores
.
Fase de anlisis
Fase de Sntesis
Referencia:
Anonimo(2016)
http://www.academia.edu/15275019/Lenguajes_y_Aut%C3%B3matas_1