Situacion Socio Economico Ensayo
Estas diapositivas están basadas en el Capítulo 1 del libro:
Aho, Sethi, y Ullman, Compiladores, AddisonWesley, 1990 (El Libro del Dragón).
Introducción a la Compilación
Un 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.
Programa Fuente Compilador ProgramaObjeto
Mensajes de Error
Modelo de Análisis y Síntesis de la Compilación
Análisis: divide al programa fuente en sus elementos componentes y crea una representación intermedia del programa fuente. Síntesis: construye el programa objeto deseado a partir de la representación intermedia (Esta parte requiere las técnicas más especializadas).
Durante el análisis se determinan las operacionesque implica el programa fuente y se registran en una estructura jerárquica llamada árbol sintáctico, donde cada nodo representa una operación y los hijos de un nodo son los argumentos de la operación.
Árbol sintáctico para un proposición de asignación: Posición = inicial + velocidad * 60
= posición + inicial * velocidad 60
Muchas herramientas de software que manipulan programas fuenterealizan primero algún tipo de análisis:
Editores de estructuras: for, while, correspondencia de paréntesis. Impresoras estéticas: color para comentarios, indentación, anidamiento Verificadores estáticos: partes que no se ejecutan, variables que se usan antes de ser definidas. Interpretes: En lugar de producir un programa objeto como resultado de una traducción, un interprete realiza las operacionesque implica el programa fuente.
Tradicionalmente, se concibe un compilador como un programa que traduce un programa fuente, como FORTRAN o C, al lenguaje ensamblador o de máquina de alguna computadora
Además de un compilador, se pueden necesitar otros programas para crear un programa objeto ejecutable. Un programa fuente se puede dividir en módulos almacenados en archivos distintos. Latarea de reunir el programa fuente a menudo se confía a un programa distinto, llamado Preprocesador. El procesador también puede abreviaturas, llamadas a macros. expandir
estructura del programa fuente Preprocesador programa fuente Compilador programa objeto en lenguaje ensamblador Ensamblador código de máquina relocalizable Editor de carga y enlace código de máquina absoluto
Análisis delPrograma Fuente
Análisis Lineal: 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: Los caracteres o componentes léxicos se agrupan jerarquicamente en colecciones anidadas con un significado colectivo. Análisis Semántico: serealizan ciertas revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo.
Análisis Léxico
En un compilador, al análisis lineal se le llama Análisis Léxico o Exploración.
Por ejemplo, en el análisis léxico los caracteres de la proposición de asignación posición = inicial + velocidad*60 Se agruparían en los componentes léxicos: Identificador: posiciónSímbolo de asignación: = Identificador: inicial Signo de suma: + Identificador: velocidad Signo de Multiplicación: * Número: 60
Análisis Sintáctico
El análisis jerárquico se denomina Análisis Sintáctico. Este implica agrupar los componentes léxicos del programa fuente en frases gramaticales que el compilador utiliza para sintetizar la salida. Las frases gramaticales del programa fuente serepresentan mediante un árbol de análisis sintáctico.
posición = inicial + velocidad*60
Proposición de asignación identificador posición = expresión expresión + expresión * expresión número 60
identificador expresión inicial identificador velocidad
La estructura jerárquica de un programa normalmente se expresa utilizando reglas recursivas.
expresión 1. Cualquier identificador es una...
Regístrate para leer el documento completo.