EL ROL DEL COMPILADOR


Para empezar a hablar del rol de un compilador primero debemos definir que es:

Un compilador es un programa de computadora que nos ayuda a transformar un código fuente escrito en un lenguaje de alto nivel a un lenguaje de máquina de bajo nivel. Es un programa que traduce nuestro código legible por humanos a un lenguaje que entiende el procesador de la computadora (binario de 1 y 0 bits). El compilador también hace que el código final sea eficiente, que este optimizado para el tiempo de ejecución y el espacio de memoria.

Los compiladores pueden ayudar a promover el uso de lenguajes de alto nivel, al minimizar la sobrecarga de ejecución de los programas escritos en estos lenguajes. Los compiladores también son imprescindibles a la hora de hacer efectivas las arquitecturas computacionales de alto rendimiento en las aplicaciones de usuario. De esta manera un programador puede diseñar un lenguaje mucho más cercano a cómo piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

Este vídeo puede ayudarnos a entender de una forma mas amigable.


En cuanto a el funcionamiento y construcción de un compilador involucra la división del proceso en dos fases que varían según la complejidad, es realmente complicado. Acá intentaremos describir brevemente las dos etapas principales de este proceso:

 

La primera etapa divide nuestro programa fuente en sus elementos componentes que son: analizador léxico, sintáctico y semántico. La segunda construye el programa objeto deseado a partir de le representación intermedia por: optimizador de código y generador de código.

Saber más de este proceso.

Con estos datos ya conocemos bien que es y el funcionamiento de un compilador, pero una de las cosas que más nos interesa es saber la importancia de estos en la computación.

La principal importancia de estos radica en que, sin ellos no existiría ninguna aplicación informática, ya que son la base de la programación en cualquier plataforma. Es el núcleo o motor que no es visible a simple vista. Sin este no entenderíamos lo que nos muestra la máquina. El compilador funciona de tal forma que se instala en la maquina y codifica y descodifica información que nosotros le proporcionaremos a la maquina o viceversa.

Los compiladores no sólo se encargan de seleccionar la instrucción máquina que mejor implementa la sentencia, sino también se debe encargar de optimizar el uso de los registros auxiliares del computador que debe usar la operación. En resumen, decimos que, por un lado, la complejidad del compilador depende del repertorio de instrucciones; y, por otro lado, este no se limita a traducir instrucción a instrucción, si no a tomar las decisiones importantes que afectan al consumo de los recursos de un sistema.

 ¿Qué esperamos conseguir con los compiladores?

Esperamos conseguir un impacto efectivo que nos permita una ejecución más eficiente de los programas de aplicación de una arquitectura de computadora determinada, mientras que una característica arquitectónica bien concebida puede soportar técnicas de optimización más efectivas. Exactitud y eficiencia son los principales factores que esperamos, para lograrlos, necesitamos una interacción adecuada y una comprensión de cómo deben concebirse las cosas, lo que nos dará como resultado eficiencia y precisión en los compiladores.


Referencias:

  • William A. Wulf, ―Compilers and Computer Architecture‖ , IEEE 0018-9162
  • John Hennessey and David Patterson, Computer Architecture – A Quantitative Approach (fifth edition)
  • Torben Egidius Mogense, Basics of Compiler Design
  • Donavan, John J. Systems Programming. ew ork , D sseldorf McGraw-Hill, 1972. Print.
  • Lee, Gyungho, and Pen-Chung Yew. Interaction between Compilers and Computer Architectures. Boston: Kluwer Academic, 2001. Print.


Comentarios

  1. Buena explicación y contenido para profundizar el tema, bien!

    ResponderEliminar
  2. Los compiladores han sido un gran avance para la resolución de problemas, muy buena la explicación !!

    ResponderEliminar
  3. Hola Javier, muy buena explicación, clara y concisa, además me gusta que ponga recursos como el vídeo y las imágenes para entender mejor el tema. Y estoy de acuedo con el final, exactitud y eficiencia son los principales factores.

    ResponderEliminar
  4. Muy buena explicación, ademas de que contiene contenido audio visual para entender mejor el contenido.

    ResponderEliminar

Publicar un comentario