ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROCESADORES DE LENGUAJES


Enviado por   •  17 de Febrero de 2015  •  1.337 Palabras (6 Páginas)  •  200 Visitas

Página 1 de 6

PROCESADORES DE LENGUAJES

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 siguientes:

 Traductores (translators)

Es un programa que procesa un texto fuente y genera un texto objeto. El traductor está escrito en un lenguaje de implementación (LI) o también denominado lenguaje host. El texto fuente está escrito en lenguaje fuente (LF), por ejemplo un lenguaje de alto nivel. El texto objeto está escrito en lenguaje objeto (LO), por ejemplo un lenguaje máquina, ensamblador u otro lenguaje de alto nivel. Se suele utilizar la notación en T. La notación en T también se puede representar de una forma abreviada como: LFLILO.

• El lenguaje fuente (LF) es el lenguaje origen que transforma el traductor. También pueden ser lenguajes de bajo nivel.

• El lenguaje objeto (LO) es el lenguaje al que se traduce el texto fuente.

• El lenguaje de implementación (LI) o lenguaje host es el lenguaje en que está escrito el traductor. Puede ser cualquier lenguaje, desde un lenguaje de alto nivel a un lenguaje máquina.

 Compiladores (compilers)

Un traductor que transforma textos fuente de lenguajes de alto nivel a lenguajes de bajo nivel se le denomina compilador.

El tiempo que se necesita para traducir un lenguaje de alto nivel a lenguaje objeto se denomina tiempo de compilación. El tiempo que tarda en ejecutarse un programa objeto se denomina tiempo de ejecución (run time).

 Ensambladores (assemblers)

Los ensambladores son traductores sencillos, en los que el lenguaje fuente tiene una estructura simple, que permite una traducción de una sentencia fuente a una instrucción en lenguaje máquina, guardándose en casi todos los casos esta relación uno a uno. Hay ensambladores que tienen macroinstrucciones en su lenguaje. Estos macroinstrucciones, de acuerdo con su nombre, se suelen traducir a varias instrucciones de máquina. A este tipo de ensambladores se les denomina macroensambladores. Actualmente la mayor parte de los ensambladores comerciales son macroensambladores.

 Montadores de enlaces o enlazadores (linkers)

Entre el proceso de compilación y la ejecución existe el proceso de montaje de enlaces, que se produce cuando el lenguaje fuente permite una fragmentación de los programas en trozos, denominados de distintas formas según el lenguaje de programación empleado (módulos, units, librerias, procedimientos, funciones, subrutinas..., el lenguaje ADA introduce la unidad de compilación). Dichas partes o trozos pueden compilarse por separado, produciéndose los códigos objetos de cada una de las partes. El montador de enlaces o enlazador realiza el montaje de los distintos códigos objeto, produciendo el módulo de carga, que es el programa objeto completo, siendo el cargador quien lo trasfiere a memoria. La compilación genera un código objeto llamado reubicable, cuyo significado es que las posiciones de memoria que utiliza son relativas. El montador de enlaces se encarga de colocar detrás del programa principal del usuario, todos los módulos reubicables.

 Cargadores (loaders)

El cargador se encarga de colocar el fichero ejecutable en memoria, asignando el espacio necesario al programa en memoria, y pasando el control a la primera de las instrucciones a ejecutar, comenzando a continuación la fase de ejecución. El cargador es un programa incluido con el sistema operativo. Así en el sistema operativo MS-DOS el cargador está dentro del intérprete de comandos COMMAND.COM.

 Intérpretes (interpreters)

Los intérpretes son programas que simplemente ejecutan las instrucciones que encuentran en el texto fuente. En muchos casos coexisten en memoria el programa fuente y el programa intérprete. Nótese que en este caso todo se hace en tiempo de ejecución. Algunos de los lenguajes comúnmente interpretados son el BASIC, LOGO, PROLOG, SMALLTALK, APL y LISP.

Evidentemente la ejecución de un programa compilado será más rápida que la del mismo programa interpretado. Sin embargo los intérpretes son más interactivos y facilitan la puesta a punto de programas. Algunos lenguajes de programación tan sólo pueden ser interpretados debido a sus características, por ejemplo algunos lenguajes funcionales y lenguajes orientados a objeto. En estos casos existen intérpretes con compiladores incrementales que pueden recompilar los módulos modificados en tiempo de ejecución.

 Desensambladores

...

Descargar como (para miembros actualizados) txt (9 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com