ensayo

8
República Bolivariana de Venezuela Universidad “Fermín Toro” Facultad de Ingeniería Escuela de Computación Cabudare - Estado Lara Nombre y Apellido: Alva M Ruiz T C.I.: 25178462 Cabudare, de Junio de 2015.

Upload: alvaruiz

Post on 09-Aug-2015

31 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Ensayo

República Bolivariana de Venezuela

Universidad “Fermín Toro”

Facultad de Ingeniería

Escuela de Computación

Cabudare - Estado Lara

Nombre y Apellido:

Alva M Ruiz T

C.I.: 25178462

Cabudare, de Junio de 2015.

Page 2: Ensayo

Introducción

A continuación desarrollaremos un interesante tópico referente a lo que

conocemos como los compiladores, adentramos en temas tales como los programas

fuente y destino, estableciendo diferencias entre ellos para su fácil distinción;

también ramificamos y explicamos las ventajas para un sistema de procesamiento

de lenguajes en el cual el compilador produce un lenguaje ensamblador en vez de un

lenguaje máquina de una manera clara y concisa, de igual manera se explicaron y

definieron las principales tareas de un compilador. Al siguiente ensayo se le

integraron imágenes para la mayor compresión del lector.

Page 3: Ensayo

Diferencias entre Programa Fuente y Programa Destino

Programa Fuente Programa Destino

Es un conjunto de líneas de texto que

son las instrucciones que debe seguir la

computadora para ejecutar dicho

programa.

Es el código que resulta de la

compilación del programa fuente.

Está escrito por un programador en

algún lenguaje de programación.

Son caracteres traducidos por los

llamados

compiladores

, ensambladores, intérpretes y otros

sistemas de traducción.

En su primer estado no es

directamente ejecutable por la

computadora.

En su primer estado es ejecutable por

la computadora, porque su estado básico

es siempre funcional para el hardware.

Es el principio fundamental de todo

programa destino, es la base que los crea.

Para obtener un programa ejecutable

se han de enlazar todos los archivos de

código objeto con un programa llamado

enlazador.

Es conocido también como código

fuente.

Es conocido también como código

objeto.

Page 4: Ensayo

Ventajas para un Sistema de Procesamiento de Lenguajes en el

cual el Compilador Produce un Lenguaje Ensamblador en vez

de un Lenguaje Máquina

Existen diversas ventajas que se pueden mencionar, entre las cuales podemos

mencionar:

La Velocidad: En este caso nos referimos al proceso de transición o cambio que

existe entre un lenguaje y otro, este proceso realizado por los compiladores

exige un proceso de cálculo extraordinario al ya previsto por el programador. Por

ende determinamos que el intérprete se toma más tiempo realizando la misma

acción en el lenguaje de ensamblaje, esto acotando una dificultad agregada de

traducir el programa cada vez que se ejecute. Por otra parte los compiladores son

por mucho más rápidos que los anteriormente mencionados, esto gracias a que

realizan la traducción de manera inmediata convirtiéndolo en lenguaje de

máquina y como resultado final obtenemos un ejecutable rápido.

Tamaño: Tanto los intérpretes como los compiladores tienden a crear mucho

más código objeto del que es necesario para que el programa se ejecute, por

ende el programa crece notablemente, debemos tomar en cuenta que una de

nuestras prioridades es ocupar el menor espacio posible en la memoria para

obtener un proceso más limpio, rápido e eficaz; por esta razón el lenguaje

ensamblador es muy conveniente y efectivo. Es importante mencionar que el

tamaño afecta de manera directa en la velocidad.

Flexibilidad: En este aspecto nos referimos a la ambigüedad de la eficacia a

crear aunque podamos programar en otros lenguajes pero esto afecta nuestro

producto final, aunque la eficacia de nuestro ejecutable se encuentre entre los

parámetros generales siempre nos encontraremos con limitaciones que nos

obligan a realizar ciertos tipos de abstracciones que limitan en gran tamaño la

capacidad neta de nuestra creación.

Page 5: Ensayo

A un compilador que traduce el lenguaje de alto nivel a otro lenguaje de

alto nivel se llama traductor (source to source) ¿Qué ventajas hay en

cuanto al uso de “C” como lenguaje destino para un compilador?

Se conoce con el término “Source to Source” a los compiladores capaces de

tomar el código fuente de cualquier lenguaje de programación e igualmente pueden

tomar también su entrada y salida del código fuente en otro lenguaje de programación.

Estos programas son sumamente útiles, debido que pueden realizar traducciones entre un

lenguaje de programación y otro, como transformar Pascal en C.

Así mismo estos compiladores Source-to-Source cuentan con la capacidad de

traducir código heredado de un lenguaje de programación para la siguiente versión

del mismo, al igual que cualquier API que desee utilizarse.

Como ventajas del uso de C para el destino de un compilador tenemos:

Es un lenguaje muy eficiente puesto que es posible utilizar sus características de

bajo nivel para realizar implementaciones óptimas.

A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo

compiladores para casi todos los sistemas conocidos.

Proporciona facilidades para realizar programas modulares y/o utilizar código o

bibliotecas existentes.

Page 6: Ensayo

Tareas de un Ensamblador

1- Convertir los códigos ("opcode" o mnemónicos: ej. LDA, STX) a su código

equivalente en lenguaje de máquina

2- Convertir los operandos simbólicos (las etiquetas o variables) en las direcciones

correspondientes de los operandos

3- Construir las instrucciones en lenguaje de máquina en el formato apropiado

4- Convertir las constantes definidas en el programa en su verdadera

representación

5- Escribir el "listing" en lenguaje de ensamblador con el código en lenguaje de

máquina correspondiente

6- Procesar las directrices al ensamblador (las directrices son instrucciones o

comandos dirigidos al ensamblador, que éste procesa y ejecuta al hallarlos en el

programa en lenguaje de ensamblador; estas directrices no se traducen a lenguaje

de máquina, si no que el ensamblador ejecuta alguna acción, como reservar

memoria para variables, entre otras).

Page 7: Ensayo

Conclusión

Mediante la creación, corrección y lectura del presente ensayo pudimos asimilar

distintos aspectos referentes al tema de los compiladores y demás, pudiendo mencionar

entre estos conocimientos las diferencias entre un programa y otro, mientras el programa

fuente es una serie de instrucciones que se le da a computador, el de destino es la

traducción a lenguaje de maquina del programa fuente, además que es importante

mencionar que uno está escrito o es creado por un programador mientras que el otro se

trabaja mediante compiladores e intérpretes.

También pudimos determinar diversas ventajas para un sistema de procesamiento

de lenguajes en el cual el compilador produce un lenguaje ensamblador en vez de un

lenguaje máquina, como lo son la velocidad y el tamaño.

Page 8: Ensayo

Bibliografía

http://danielrodriguezmonroyvespertinocompiladores.wordpress.com/2012/01/13/q ue-

ventajas-hay-para-un-sistema-de-procesamiento-de-lenguajes-en-el-cual-el- compilador-

produce-un-lenguaje-ensamblador-en-vez-de-un-lenguaje-maquina/

http://hugopa2012.wordpress.com/2012/01/16/hugo-perez-alonso-nocturno-

compiladores-compiladores/

http://www.monografias.com/trabajos12/sofsiste/sofsiste.shtml