Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Mexico
TAREA 1:
Cuadro descriptivo
Alumnos:
Podríamos definir un autómata como una máquina de estados y transiciones dentro de la cual se tienen
estados de aceptación y transiciones de un estado a otro siguiendo las reglas establecidas para grafos
dirigidos. Dichos estados de aceptación dentro del autómata “reconocen” que es posible aceptar una cadena
de entrada, porque cumple con una definición en el alfabeto.
La diferencia entre un AFD y un AFND es que en el primero se sabe cuál será el próximo paso o estado a seguir
y en el segundo no; es decir, no se puede determinar cómo su nombre lo indica, el estado siguiente y este
puede ser cualquiera o simplemente no estar definido es decir la función de transición sería igual a "cero".
Los compiladores son los programas de computadora que traducen un lenguaje a otro. Toma como entrada un
programa escrito en su lenguaje fuente y produce un programa equivalente escrito en su lenguaje objetivo.
Por lo regular el lenguaje fuente es un lenguaje de alto nivel. Un compilador es un programa muy completo
con un número de líneas de código que puede variar de 10 000 a 1 000000. Los compiladores se utilizan en
casi todas las formas de la computación.
Autómatas Autómatas no Traductor Compilador y sus Preprocesador Intérprete Lenguaje Lenguaje
determinísticos determinísticos partes ensamblador maquina
finitos finitos
Un autómata Son autómatas de Es un programa El compilador es un El preprocesador es Es un programa que Es un lenguaje de El lenguaje
determinístico, es un estados finitos que que tiene como programa informático, un subsistema ejecuta línea a línea bajo nivel, donde máquina es el
sistema determinista; tiene la capacidad de entrada un que se encarga de traducir especial del las instrucciones de cada sentencia del único que
es decir, para cada estar en más de un texto escrito en un programa escrito en un compilador, que se un programa de lenguaje fuente se entiende la
estado en que se estado un lenguaje lenguaje de programación ocupa de la alto nivel. El traduce a una computadora
encuentre el simultáneamente. No (lenguaje a otro lenguaje de preparación intérprete carga el instrucción en digital, es su
autómata, y con hay que considerar fuente) y como programación, generando preliminar del código código fuente y código máquina. Se "lenguaje
cualquier símbolo de todos los casos en salida produce un programa equivalente fuente del programa traduce las define como un natural". En él
alfabeto leído, existe cada estado, ya que un texto escrito que la máquina será capaz directamente antes instrucciones a un lenguaje de sólo se pueden
siempre a lo más una permite un cero, una en un lenguaje de interpretar. de su compilación. lenguaje intermedio programación que utilizar dos
transición posible o más transiciones de (lenguaje que puede luego se usa para dar símbolos: el cero
desde ese estado y salida de un estado objeto) que ser ejecutado. directamente (0) y el uno (1).
con el símbolo. para el mismo preserva el órdenes al
símbolo del alfabeto significado de ordenador..
de entrada. origen.
Ejemplos Ejemplos Fases del compilador
Obtenga un AFD dado el Obtenga un AFND dado el 1. Análisis Léxico.
siguiente lenguaje siguiente lenguaje
definido definido
constituye la primera fase,
en el alfabeto Σ= {0,1}. El en el alfabeto Σ= {0,1}. El aquí se lee el programa
conjunto de cadenas que conjunto de cadenas que fuente de izquierda a
terminan en “1”. inician en 0. derecha y se agrupa en
componentes léxicos
(tokens), que son
secuencias de caracteres
que tienen un significado.
Obtenga un AFD dado el Obtenga un AFND dado el 2. Análisis sintáctico. En
siguiente lenguaje siguiente lenguaje
definido definido
esta fase los componentes
en el alfabeto Σ= {0,1}. El en el alfabeto Σ= {0,1}. El léxicos se agrupan
conjunto de cadenas que conjunto de cadenas que jerárquicamente en frases
contienen a la inician en 0. gramaticales que el
sub-cadena “01”.
compilador utiliza para
sintetizar la salida.
Obtenga un AFD dado el Obtenga un AFND dado el 3. Análisis semántico.
siguiente lenguaje siguiente lenguaje
definido definido
Esta fase revisa el
en el alfabeto Σ= {0,1}. El en el alfabeto Σ= {0,1}. El programa fuente para
conjunto de cadenas que conjunto de cadenas que tratar de encontrar
no contienen a contienen a la errores semánticos y
la sub-cadena “01”. sub-cadena ”01”.
reúne la información
sobre los tipos para la fase
posterior de generación
de código.
4. Generador de código
objeto. Aquí se crea el
código final de salida que
va a ser interpretado por
la máquina.
Conclusión
Cárdenas, H. (15 de Abril de 2016). Teoría de la Computación para Ingeniería de Sistemas: Un enfoque práctico. Obtenido de
http://www.webdelprofesor.ula.ve/ingenieria/hyelitza/materias/preteoria/apuntes/tema1.pdf
Hopcroft J. E., Ullman J.D. (2007). “Introducción a la teoría de autómatas, lenguajes y computación”.
3ª ed. Edit. Pearson Educación, Madrid.
Sergio Galves rojas y Miguel Angel Mora Mata (2005) “Traductores y compiladores”
Universidad de malaga.