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.
- 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).
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).
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).
- 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