martes, 7 de febrero de 2017

COMPILADORES

ARQUITECTURA DE LOS COMPILADORES E INTÉRPRETES


Determina la estructura general de los compiladores e intérpretes con base a su funcionalidad  d sus etapas y fases.

CONCEPTO DE COMPILADOR

Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior. De esta manera un programador puede diseñar un programa en 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.



Algunos lenguajes compiladores típicos son:

C
C++
Pascal
FORTRAN
COBOL

CARACTERÍSTICAS DE UN COMPILADOR


 Se usa con el fin de analizar las secciones
 Administrar la taba de símbolos
 Manejar los errores.
Un compilador es que traduce de un Lenguaje de alto nivel a uno de bajo nivel.

FASES DE LOS COMPILADORES



Analizando en detalle el proceso de compilación, se divide en dos grandes fases, una de Análisis y la otra de Síntesis.

Fase de Análisis: 

Se encarga de revisar que los tokens estén ubicados y agrupados de acuerdo a la definición del lenguaje.
    Fase de Síntesis:

Se lleva el código del programa fuente a un código interno para poder trabajar más fácilmente sobre él. Esta representación interna debe tener dos propiedades, primero debe ser fácil de representar y segundo debe ser fácil de traducir al código objeto.

En la etapa que optimizan de código, se busca obtener el código más corto y rápido posible, utilizando distintos algoritmos de optimización.


Etapa de generación de código, se lleva el código intermedio final a código maquina o código objeto, que por lo general consiste en un código maquina re localizable o código ensamblador. 



Un compilador suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute.


Ejemplos:










No hay comentarios:

Publicar un comentario