Issuu on Google+

GUISSELA FERNANDA GUERRERO CRIOLLO ESCUELA DE INGENIERIA EN SISTEMAS PUCESI


INTRODUCCION

Los Procesadores de Lenguaje son todos los programas que a través de una entrada escrita en un lenguaje de programación pueden manipular herramientas de software y hardware de un computador. También es el nombre genérico que reciben todas las aplicaciones informáticas en las cuales uno de los datos fundamentales de entrada es un lenguaje. La definición anterior afecta a una gran variedad de herramientas software, algunas de ellas son las que veremos en este documento.

1


TRADUCTORES Se define como traductor de lenguaje a cualquier programa que toma como entrada un texto escrito en un lenguaje, llamado fuente y da como salida otro texto en un lenguaje, denominado objeto.

CLASIFICACION Ensambladores Traducen los programas escritos en lenguaje ensamblador a lenguaje m谩quina.

Compiladores Transforma textos fuente de lenguajes de alto nivel a lenguajes de bajo nivel. Generan los resultados a partir de los datos de entrada (fase de ejecuci贸n). 2


Interpretes Analiza y ejecuta simultรกneamente un programa escrito en un lenguaje fuente.

MONTADORES DE ENLACE

3


CARGADORES Coloca el fichero ejecutable en memoria asignando el espacio de memoria necesario al programa y pasando el control a la primera de las instrucciones a ejecutar. Se incluye en el sistema operativo.

DECOMPILADORES

4


DESENSAMBLADORES Caso particular de los decompiladores, traducen de código máquina a ensamblador. Es un caso más fácil puesto que hay una correspondencia directa entre las instrucciones ensamblador y el código máquina.

D E P U R A D O R E S

Herramientas que permiten encontrar y corregir los errores de los programas. Suelen ir ligadas a los compiladores. Permiten: Observar la traza de los programas fuente, visualizando los valores de variables, direcciones u operaciones. Comprobación del código objeto generado. Visualización de los registros de la máquina. Utilización de parte de la información usada en tiempo de compilación, que habitualmente no se almacena en ejecución. 5


Herramientas que permiten examinar el comportamiento de

Analizadores de

los programas en tiempo de ejecución, comprobándose qué

Rendimiento

zonas de código trabajan eficientemente y cuáles deberían ser revisadas rendimiento.

por

su

bajo

Pueden ser herramientas independientes o estar incluidos en los compiladores e invocarse por medio de opciones de compilación. Algunas opciones: elegir entre velocidad y tamaño del código ejecutable; generar código para una máquina específica dentro de una familia; eliminar comprobación de rangos o desbordamientos de pila; eliminación de código muerto o no utilizado; ejecución en cortocircuito de expresiones booleanas; eliminación de funciones no utilizadas. 6


COMPRESORES

Herramientas habituales en informática (PKZIP, ARJ...). Un caso particular son los compresores de ejecutables (EXEPACK sólo para programas desarrollados con compiladores de Microsoft, PKLITE, LZEXE para cualquier ejecutable).

PREPROCESADORES Caso especial de un traductor en el que se remplazan macroinstrucciones no haciendo ningún tipo de análisis. Suelen ir incorporados en compiladores.

7


FORMATEADORES Los hay para diferentes prop贸sitos dedicados a formatear textos, ecuaciones o programas. Estos 煤ltimos resaltan su sintaxis o su estructura para lo que es necesario conocer la sintaxis del lenguaje a formatear. Los conversores de formato entrar铆an dentro de este grupo.

EDITORES Son los editores de lenguajes de programaci贸n que resaltan la sintaxis mediante colores o tipos de letras en el mismo momento en que el programador escribe, sin que tenga necesidad de compilar puesto que llevan incorporada la sintaxis del lenguaje.

8


PROCESADORES DE LENGUAJES