


Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Libro de lenguajes y autómatas
Tipo: Guías, Proyectos, Investigaciones
1 / 4
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



Muchas herramientas computacionales que manipulan programas fuente realizan primero algún tipo de análisis, según sean las características del lenguaje que se estudia.
Editores de estructura: Toma como entrada una secuencia de órdenes para construir un programa fuente. Además de su función de creación y modificación de textos, analiza del texto del programa imponiendo al programa fuente una estructura jerárquica apropiada.
Impresoras estáticas: Analiza un programa e imprime de forma que la estructura del programa resulte claramente visible.
Verificadores estáticos: Leen un programa, lo analiza e intenta descubrir errores potenciales sin abrir el programa. Detecta si hay partes de un programa que nunca se van a ejecutar o si cierta variable se usa antes de ser definida.
Intérpretes: Los interpretes solo realizan la traducción a medida que sea necesaria, normalmente instrucción por instrucción, y por lo regular no guardan el resultado de dicha traducción. Los intérpretes son los que realizan normalmente dos operaciones:
Traducen el código fuente a un formato interno. Ejecuta o interpretan el programa traducido al formato interno. Donde la primera pertenece al interprete el cual llama a veces al compilador, así se genera el código interno, pero no es el lenguaje de máquina, ni lenguaje de símbolos, ni mucho menos un lenguaje de nivel alto.
Los lenguajes interpretados son más fáciles de aprender que los lenguajes compilados. Un intérprete le permite al programador saber de inmediato cuándo y dónde existen problemas en el código mientras que los programas compilados hacer esperar al programador hasta que el programa se ha completado.
Las ventajas del utilizar un intérprete son:
Al ejecutarse línea a línea, resulta ser más fácil de depurar y comprobar errores. Si el programa es muy largo, un intérprete resulta es más rápido que un compilador porque no tiene que traducir todo el programa para ejecutarlo.
Las desventajas de utilizar un intérprete son:
El código fuente se requiere para poder ejecutar un programa Los intérpretes son más lentos que los programas compilados o ejecutables. Traductor: 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.
Ensamblador : El ensamblador es el programa en que se realiza la tracción de un programa escrito en ensamblador y lo pasa a lenguaje máquina. Directa o no directa la traducción en que las instrucciones no son más que instrucciones que ejecuta la computadora.
Compilador: El compilador es un programa informático que traduce un programa escrito en lenguaje de programación y lo pasa a lenguaje de programación, podemos decir que este programa nos permite traducir un código fuente de un programa en lenguaje de nivel alto, y lo pasmos a otro nivel inferior (lenguaje maquina).
¿Cómo funciona?
El proceso de traducción se compone internamente de varias etapas o fases, que realizan distintas operaciones lógicas. Es útil pensar en estas fases como en piezas separadas dentro del traductor, y pueden en realidad escribirse como operaciones codificadas separadamente aunque en la práctica a menudo se integren juntas.
Fase de análisis:
Análisis léxico
El análisis léxico constituye la primera fase, aquí se lee el programa fuente de izquierda a derecha y se agrupa en componentes léxicos (tokens), que son secuencias de caracteres que tienen un significado. Además, todos los espacios en blanco, líneas en blanco, comentarios y demás información innecesaria se elimina del programa fuente. También se comprueba que los símbolos del lenguaje (palabras clave, operadores, etc.) se han escrito correctamente.
Análisis sintáctico
Enlaces y bibliografía:
http://michelletorres.mx/que-es-un-compilador-y-como-funciona/
https://sites.google.com/site/teoriadelenguajesformaless/1-5-herramientas-computacionales
https://s3.amazonaws.com/academia.edu.documents/33478485/Teoria_De_Automatas_lengu ajes_y_Computacion_cd.pdf?AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A&Expires= 08254&Signature=xDqBUrEG3eLOnQHzPhAxx0wj5j4%3D&response-content- disposition=inline%3B%20filename%3DIntroduccion_a_la_teoria_de_automatas_le.pdf