Clasificación de los compiladores Una pasada Múltiples pasadas De carga y ejecución

Download Report

Transcript Clasificación de los compiladores Una pasada Múltiples pasadas De carga y ejecución

Clasificación de los compiladores

    Una pasada Múltiples pasadas De carga y ejecución De depuración o de optimización

Análisis Lineal o Léxico

 En el que la cadena de caracteres que constituye el programa fuente se lee de izquierda a derecha y se agrupa en

componentes léxicos,

que son secuencias de caracteres que tienen un significado colectivo

Análisis Jerárquico o sintáctico

 en el que los caracteres o componentes léxicos se agrupan jerárquicamente en colecciones anidadas con un significado colectivo. La estructura jerárquica de un programa normalmente se expresa utilizando reglas recursivas. Un factor para determinar la división que simplifique la tarea completa del análisis, es si una construcción del lenguaje fuente es inherentemente recursiva o no. Las construcciones léxicas no requieren recursión, mientras que las sintácticas suelen requerirla

Análisis Semántico

 en el que se realizan ciertas revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo. Un componente importante del análisis semántico es la verificación de tipos, el compilador verifica se cada operador tiene operandos permitidos por la especificación del lenguaje fuente

MÓDULOS E INTERFACES

   Análisis de los programas fuentes (tipos) Árboles Sintácticos Proceso de compilación   Ensamblaje Descripción de fases

DESCRIPCIÓN DE FASES

   Fases de un compilador Tabla de Símbolos Las fases del análisis y el código intermedio  Agrupamiento de las Fases

Terminología

    Compilador: Es un programa que lee un programa escrito en un lenguaje, el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto.

Árbol sintáctico: es una representación compacta del árbol de análisis sintáctico en el que los operadores aparecen como los nodos interiores y los operandos de un operador son los hijos del nodo para ese operador.

Tabla de símbolos: es una estructura de datos que contiene un registro por cada identificador, con los campos para los atributos del identificador.

Lexema: secuencia de caracteres que forma un componente léxico

Terminología

   Hoja del Árbol sintáctico: es un registro con dos o más campos, uno para identificar al componente léxico de la hoja, y los otros para registrar información sobre el componente léxico.

Código ensamblador: es una versión mnemotécnica del código de máquina, donde se usan nombres en lugar de códigos binarios para operaciones, y también se usan nombres para las direcciones de memoria.

Pasadas: consiste en la lectura de un archivo de entrada y en la escritura de un archivo de salida