Compiladores e Interpretes (Principal) - Blog de Tecnologia, Ingenieria en Sistemas

Novedades

lunes, 25 de noviembre de 2013

Compiladores e Interpretes (Principal)



Contenido

  • Traductores
  • Definiciones
  • Ventajas y desventajas de compiladores
  • Ventajas y desventajas de Interpretes
  • Etapas del proceso de compilación
Traductor:

Un Traductor es un programa que toma como entrada un texto escrito en un lenguaje y da como salida otro texto en un lenguaje diferente.

Tipos de Traductores

  • Traductor
  • Traductor de Idioma
  • Compilador
  • Interprete
  • Preprocesador
  • Interprete de Comandos
  • Ensamblador
  • MacroEnsamblador
  • Conversor de Código
  • AutoCompilador
  • MetaCompilador
  • Descompilador
  • Autómata
  • Gramática
  • Ligador

Ensamblador: 

Es un lenguaje de bajo nivel, donde cada sentencia del lenguaje fuente se traduce a una instrucción en código máquina.

Compilador:

Es un traductor que convierte un texto escrito en un lenguaje de alto nivel a un lenguaje de bajo nivel (código objeto o máquina).

 

Cómo saber si estamos ante un compilador:

Cuando el lenguaje fuente esta en un lenguaje de programación de alto nivel y el objeto generado sea de bajo nivel (ensamblador o código de maquina).


Ventajas de los Compiladores:

  • Produce un código optimizado.
  • La ejecución del programa objeto es mucho mas rápida que si se interpreta el programa fuente.
  • El compilador tiene una visión global del programa, por lo que la información de mensajes de error es más detallada.
  • Se debe ejecutar muchas veces el código fuente para ver los cambios en el resultado.
  • Mayor consumo de memoria.

Intérprete:

Un intérprete es un programa que analiza y ejecuta simultáneamente el programa fuente, es decir no producen un código objeto, siendo su ejecución simultánea a la del programa fuente.

No genera código objeto, analiza y ejecuta directamente cada proposición del código fuente.

Un intérprete es como un compilador, solo que la salida es una ejecución. El programa de entrada se reconoce y ejecuta a la vez. No se produce un resultado físico (código máquina) sino lógico (una ejecución).
Ventajas de los Interpretes

  • Su principal ventaja es que permiten una fácil depuración. Permiten una mayor interactividad con el código en tiempo de desarrollo.
  • En algunos lenguajes (Smalltalk, Prolog, LISP) está permitido y es frecuente añadir código según se ejecuta otro código, y esta característica solamente es posible implementarla en un intérprete.
  • Puede ser interrumpido con facilidad.
  • Puede ser rápidamente modificado y ejecutado nuevamente.
  • Un Intérprete necesita menos memoria que un compilador.
  • Facilita la búsqueda de errores.
  • En algunos lenguajes está permitido añadir código según se ejecuta otro código.
  • Menor consumo de memoria.
  • Lentitud de ejecución, ya que al ejecutar a la vez que se traduce no puede aplicarse un alto grado de optimización.
  • Cada instrucción debe ser traducida a código máquina tantas veces como sea ejecutada
  • Durante la ejecución, el intérprete debe residir en memoria ya que no genera código objeto.

No hay comentarios:

Publicar un comentario

Gracias por su comentario