Clasificación De Los Compiladores

Páginas: 5 (1033 palabras) Publicado: 26 de agosto de 2011
Clasificación de los compiladores, Interacción entre la tabla de símbolos y el manejador de errores.
Organización de lenguajes y compiladores1.

Introducción
A lo largo del tiempo se han realizado una serie de compiladores clasificados estos en distintas categorías pero puede decirse que un compilador se define por como este haya sido construido o de qué función deba realizar pero las tareasbásicas son las mismas. Entre los más importantes se pueden mencionar de una pasada, múltiples pasadas, y de carga y ejecución. Un compilador realiza una constante interacción entre dos elementos muy importantes que son: la tabla de símbolos y el manejador de errores, utilizados constantemente en las etapas de este. Básicamente la tabla de símbolos le proporciona al manejador lo necesario paraque este por medio de un método pueda reconocer los errores e idealmente continuar.

2

1. Clasificación de los compiladores
1.1 Una sola pasada: Examina el código fuente una vez, generando el código o programa objeto.

1.2 Pasadas múltiples: Requieren pasos intermedios para producir un código en otro lenguaje, y una pasada final para producir y optimizar el código producido durante lospasos anteriores.

1.3 Optimización: Lee un código fuente, lo analiza y descubre errores potenciales sin ejecutar el programa.

1.4 Compiladores incrementales: Generan un código objeto instrucción por instrucción (en vez de hacerlo para todo el programa) cuando el usuario teclea cada orden individual. El otro tipo de compiladores requiere que todos los enunciados o instrucciones se compilenconjuntamente.

1.5 Compilador cruzado: Se genera código en lenguaje objeto para una máquina diferente de la que se está utilizando para compilar. Es perfectamente normal construir un compilador de Pascal que genere código para MS-DOS y que el compilador funcione en Linux y se haya escrito en C++.

1.6 Compilador con montador: Compilador que compila distintos módulos de forma independiente y despuéses capaz de enlazarlos.

3

1.7 Autocompilador: Compilador que está escrito en el mismo lenguaje que va a compilar. Evidentemente, no se puede ejecutar la primera vez. ampliaciones al lenguaje y mejorar el código generado. Sirve para hacer

1.8 Metacompilador: Es sinónimo de compilador de compiladores y se refiere a un programa que recibe como entrada las especificaciones del lenguaje parael que se desea obtener un compilador y genera como salida el compilador para ese lenguaje. El desarrollo de los metacompiladores se encuentra con la dificultad de unir la generación de código con la parte de análisis. Lo que sí se han desarrollado son generadores de analizadores léxicos y sintácticos. De los más conocidos LEX (generador de analizadores léxicos) y YACC (Generador de analizadoressintácticos). Desarrollados para UNIX, los inconvenientes que tienen son que los analizadores que generan no son muy eficientes.

1.9 Descompilador: Es un programa que acepta como entrada código máquina y lo traduce a un lenguaje de alto nivel, realizando el proceso inverso a la compilación.

4

2. Interacción de la tabla de símbolos y el manejador de errores
Manejador de errores:

Unade las funciones más importantes de un compilador es su respuesta a los errores en un programa fuente. Los errores pueden ser detectados durante casi cualquier fase de la compilación. Estos errores estáticos (o de tiempo de compilación) deben ser notificados por un compilador, y es importante que el compilador sea capaz de generar mensajes de error significativos y reanudar la compilación despuésde cada error. Cada fase de un compilador necesitará una clase ligeramente diferente de manejo de errores. Y, por lo tanto, un manejador de errores debe contener operaciones diferentes, cada una apropiada para una fase y situación específica.

Tabla de Símbolos:

Esta estructura de datos mantiene la información asociada con los identificadores: funciones, variables, constantes y tipos de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS