Compiladores e Interpretes

4
COMPILADORES E INTÉRPRETES: SIMILITUDES Y DIFERENCIAS NOTA: 4.0 En el presente documento se verá y se tratara de comprender todos los conceptos claves que nos definan que es un compilador y que es un intérprete y sus respectivos funcionamientos para definir así las diferencias y semejanzas que existen entre estas herramientas y de igual manera realizar una explicación sobre las etapas que cumple un compilador y el contexto dentro del cual funciona este tipo de lenguajes. Muy bien ya dicho lo anterior es necesario ahora hablar sobre el concepto del compilador el cual no es mas que un programa capaz de leer un programa escrito en lenguaje fuente y traducirlo a un programa equivalente esta vez escrito en otro lenguaje el cual es conocido como lenguaje objeto no sin antes el compilador informarle al usuario sobre la posible presencia de errores en el lenguaje fuente, y adicional a este concepto se puede agregar que existe una diversidad de compiladores significativa dada una cantidad apreciable de lenguajes fuentes desde los lenguajes de programación tradicionales pasando a los lenguajes especializados que han ido surgiendo para ocupar espacios importantes en cualquier área de la informática y como si esto fuera poco también existe una variada gama de lenguajes objetos los cuales pueden ser un lenguaje de programación o el lenguaje de máquina de cualquier computador entre microprocesadores y supercomputadores. (Aho Alfred, et al 1998) Ya una vez conocido el concepto de compilador y lo que este conlleva se puede empezar a hablar del concepto de interprete el cual no es más que un programa que se ejecuta bajo la siguiente secuencia: se obtiene la secuencia siguiente a ejecutar para después determinar las acciones a ejecutarse y una vez identificadas procede a ejecutarlas finalmente para cumplir así con una secuencia muy parecida a la que realizan los ordenadores tradicionales y que en cierto modo permite calificar a los intérpretes como simuladores en ordenadores anfitriones de una maquina diseñada con fines especiales cuyo lenguaje maquina es un lenguaje de alto nivel. (Sánchez Dueñas & Valverde Andreu, 1989)

Transcript of Compiladores e Interpretes

Page 1: Compiladores e Interpretes

COMPILADORES E INTÉRPRETES: SIMILITUDES Y DIFERENCIAS

NOTA: 4.0

En el presente documento se verá y se tratara de comprender todos los conceptos claves que nos definan que es un compilador y que es un intérprete y sus respectivos funcionamientos para definir así las diferencias y semejanzas que existen entre estas herramientas y de igual manera realizar una explicación sobre las etapas que cumple un compilador y el contexto dentro del cual funciona este tipo de lenguajes.

Muy bien ya dicho lo anterior es necesario ahora hablar sobre el concepto del compilador el cual no es mas que un programa capaz de leer un programa escrito en lenguaje fuente y traducirlo a un programa equivalente esta vez escrito en otro lenguaje el cual es conocido como lenguaje objeto no sin antes el compilador informarle al usuario sobre la posible presencia de errores en el lenguaje fuente, y adicional a este concepto se puede agregar que existe una diversidad de compiladores significativa dada una cantidad apreciable de lenguajes fuentes desde los lenguajes de programación tradicionales pasando a los lenguajes especializados que han ido surgiendo para ocupar espacios importantes en cualquier área de la informática y como si esto fuera poco también existe una variada gama de lenguajes objetos los cuales pueden ser un lenguaje de programación o el lenguaje de máquina de cualquier computador entre microprocesadores y supercomputadores. (Aho Alfred, et al 1998)

Ya una vez conocido el concepto de compilador y lo que este conlleva se puede empezar a hablar del concepto de interprete el cual no es más que un programa que se ejecuta bajo la siguiente secuencia: se obtiene la secuencia siguiente a ejecutar para después determinar las acciones a ejecutarse y una vez identificadas procede a ejecutarlas finalmente para cumplir así con una secuencia muy parecida a la que realizan los ordenadores tradicionales y que en cierto modo permite calificar a los intérpretes como simuladores en ordenadores anfitriones de una maquina diseñada con fines especiales cuyo lenguaje maquina es un lenguaje de alto nivel. (Sánchez Dueñas & Valverde Andreu, 1989)

Vale también la pena resaltar que existe una contraposición de los intérpretes frente a los compiladores ya que estos últimos se encargan de traducir un programa desde su descripción la cual se hace en un lenguaje de programación al código maquina del sistema que actúa como destino mientras que los intérpretes realizan la traducción que se desea a medida que esta sea prioritaria y muchas veces no guardan el resultado de la misma.

Así mismo podemos también se pueden recordar las ventajas que existen entre unos frente a los otros y se puede encontrar que al momento de compilar este proceso se hace una vez a pesar de ejecutar un numero de indefinidas ocasiones al igual que en los bucles ya que al compilar se genera un código equivalente al bucle pero cuando se pasa a interpretar se traduce una línea en reiteradas veces al tiempo en que se repite dicho bucle y la ventaja más importante del compilador frente al intérprete es que existe una visión más global del programa la cual se hace evidente a la hora de encontrar los posibles errores y la información de estos es mucho más detallada. En cuanto a la

Page 2: Compiladores e Interpretes

ventaja de los Intérpretes se puede destacar que necesitan menor espacio de memoria y que le permiten al programador una interactividad con el código en el tiempo de desarrollo.

Regresando a los compiladores es necesario comprender las fases que cumplen estos programas las cuales son la fase de análisis del programa fuente y la etapa de síntesis del programa objeto las cuales están divididas a su vez así la fase de análisis en análisis léxico sintáctico y semántico mientras que la etapa de síntesis lleva a la generación de código intermedio y a la optimización del mismo.

Una vez aclarados los conceptos de compilador y sus fases y el concepto de interprete mas las diferencias y semejanzas entre ambos se puede proseguir hablando sobre el contexto del compilador y se puede comprender que si bien es factor clave en la construcción de un programa escrito en código maquina a partir del lenguaje fuente necesita de otros componentes tales como el preprocesador el ensamblador el director de carga y enlace los cuales cumplen la siguiente secuencia: El preprocesador se encarga de reunir toda la información del programa fuente que normalmente se almacena en archivos diferentes y una vez organizada toda la información de este empieza la función del compilador el cual se encarga de traducir el programa objeto y de informar sobre la posible presencia de errores y terminar convirtiéndolo en un programa objeto y luego el ensamblador traduce el producto anterior en lenguaje ensamblador de código maquina el cual pasa directamente al director de carga y enlace el cual se encarga de tomar el código relocalizable modificar las direcciones relocalizables y ubicar las instrucciones y datos modificados en las posiciones de memoria apropiadas para cada uno aunque es necesario tener en cuenta de que muchos de estos pasos no se cumplen estrictamente ya que es un proceso dependiente del lenguaje que se traduce y el entorno en el cual se está trabajando. (Brookshear J. Glenn 1993)

Se puede concluir este ensayo con la satisfacción de haber comprendido los conceptos claves acerca de la compilación y la interpretación haciendo diferencias entre ambos y las ventajas que estos programas presentan entre si además que es necesario comprenderlo para un mejor aprendizaje de las técnicas de programación y los retos que han de presentarse en algún futuro en cualquier campo donde haya de aplicarse los conocimientos adquiridos en la Ingeniería de Sistemas.

ANDRÉS BERDUGO DE LA ROSA

TEORIA DE AUTOMATAS

1 DE FEBRERO DE 2014.

DARWIN, 17/02/14,
En este etapa debió mencionarse en forma breve la función de cada una de las etapas.
DARWIN, 17/02/14,
No hay conclusión sobre el funcionamiento del compilador y el proceso que se lleva a cabo a través de las diferente etapas
Page 3: Compiladores e Interpretes

REFERENCIAS

Aho Alfred, Sethi Ravi, Ullman Jeffrey. 1998 Compiladores principios y herramientas. México. Pearson

Sánchez Dueñas Gonzalo, Valverde Andreu Juan Antonio. 1989 Compiladores e Interpretes un enfoque pragmático. Madrid. Consejo Editorial

Brookshear J.Glenn. 1993 Teoría de la Computación. Madrid. Addison Wesley Iberoamérica España S.A