Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Herramientas computaciónales , Guías, Proyectos, Investigaciones de Compiladores

Libro de lenguajes y autómatas

Tipo: Guías, Proyectos, Investigaciones

2016/2017

Subido el 08/10/2017

laliitho-gonzalez
laliitho-gonzalez 🇲🇽

4.5

(2)

1 documento

1 / 4

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Israel Vázquez Campuzano Lenguajes y autómatas
1.5 Herramientas computacionales ligadas con lenguajes
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.
pf3
pf4

Vista previa parcial del texto

¡Descarga Herramientas computaciónales y más Guías, Proyectos, Investigaciones en PDF de Compiladores solo en Docsity!

1.5 Herramientas computacionales ligadas con lenguajes

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