Compilador

Description

Conceptos principales del compilador y sus fases
Ricardo Ramirez
Mind Map by Ricardo Ramirez, updated more than 1 year ago
Ricardo Ramirez
Created by Ricardo Ramirez over 5 years ago
37
0

Resource summary

Compilador
  1. Un compilador es un programa que lee un programa escrito en un LENGUAJE FUENTE y lo traduce a un programa equivalente en un LENGUAJE OBJETO puediendo ser el lenguaje máquina de cualquier computador entre un microprocesador a un supercomputador.
    1. Está compuesto de dos fases
      1. ANÁLISIS: Divide al programa fuente en sus elementos componenetes y crea una respresentación intermedia, también se determinan las operaciones que implica el programa fuente y se registran en una estructura jerárquica llamado árbo sintáctico
        1. Consta de 3 fases
          1. 1) ANÁLISIS LÉXICO, LINEAS O DE EXPLORACIÓN: Lee un archivo fuente de izquierda a derecha, caracter por caracter, agrupándolos en palabras (componentes léxicos o token).. Es la única fase que tiene contacto con el código del programa fuente
            1. Lector de CARACTERES que
              1. componen LEXEMAS
                1. y empata con un patrón o COMPONENTE LÉXICO
            2. 2) ANÁLISIS SINTÁCTICO O JERÁRQUICO O PARSER:: implica agrupar los componentes léxicos del programa fuente en frases utilizando REGLAS GRAMATICALES que el compilador utiliza para sintetizar la salida que se representan mediante un árbol de análisis sintáctico utilizando REGLAS RECURSIVAS donde cualquier identificador y número es una expresión. Lo registro se guardan en una TABLA DE SÍMBOLOS.
              1. ÁRBOL SINTÁCTICO: Es una representación compacta del árbol de análisis sintáctico en el que los operadores aparecen como lso nodos interiores y los operandos como un operador son los hijos dle nodo para ese operador.
              2. 3) ANÁISIS SEMÁNTICO: Revisa el programa fuente para tratar de encontrar errores semánticos y reune la información sobre los tipos para la fase posterior de la generación de código, utilizando estructura jerárquica determinada por la fase de análisis sintáctico para identificar operadores y operandos, comprobando que el significado de las sentencia es correcto. Algo importante es la VERIFICACIÓN DE TIPOS que analiza si cada operador tienen operandos permitidos por la especificación del lenguaje fuente.
                1. genera ÁRBOL SINTÁCTICO ANOTADO
            3. SÍNTESIS: Construye el programa objeto deseado a partir de la representación intermedia también optimiza el codigo y genera el ejecutable en lenguaje objeto
              1. Consta de 3 fases
                1. 4) GENERADOR DE CÓDIGO INTERMEDIO: Generación de una representación intermedia explícita del programa fuente o como un programa para una máquina abstracta. Debe de tener dos propiedades, 1) debe ser fácil de producir y 2) fácil de traducir al programa objeto. como por ejemplo "código de tres direcciones"
                  1. genera CÓDIGO INTERMEDIO
                  2. 5) OPTIMADOR DE CÓDIGO: Mejora el código intermedio, de modo que resulte un código de máquina más rápido de ejecutar, eliminando código que sea redundante., con el fin de mejorar el tiempo de ejecución del programa objeto sin retardar demasiado la compilación.
                    1. genera CÓDIGO INTERMEDIO OPTIMIZADO
                    2. 6) GENERADOR DE CÓDIGO OBJETO: Generación de código objeto que por lo general consiste en código de máquina relocalizable o código ensamblador., seleccionando las posiciones de memoria de cada variable usada y después, se traduce las instrucciones intermedias a una secuencia de instrucciones de máquina que ejecuta la misma tarea, donde algo fundamental es la asignación de variables a registros.
                  3. Presentes en las 6 fases
                    1. MANEJADOR DE ERRORES
                      1. CADA FASE PUEDE ENCONTRAR ERRORES, por lo general las fases de análisis sintáctico y semántico por lo general manejan todos los errores etectables . La fase léxica puede detectar errores donde los caracteres restantes de la entra no forman ningun componenete, en la fase de análisis sintactica los errores de la cadena de componenetes léxicos violan las reglas de estructura. y en el semántico regista erroes de construcciones y que no tengan significado para la operación implicada.
                      2. ADMINISTRADOR DE LA TABLA DE SÍMBOLOS
                        1. Es una estructura de datos que contienne un registro por cada identificador, con los campos para los atributos del identifiicador, registra los identificadores utilizados en el programa fuente y reune información sobre los distintos atributos de cada identificador, proporcionan información sobre la memoria asignada a un identificar, su tipo, ámbitoy nombres de procedimientos.
                  4. Manolo Ricardo Ramirez Mazariegos 201503933
                    Show full summary Hide full summary

                    Similar

                    Lenguaje maquina
                    Daniela Rodriguez
                    Fases de un compilador
                    Holman Carcamo
                    Lenguajes de programación
                    Jonatan Pinto
                    Definicion de Fases de un compilador
                    Ronaldo Gomez
                    UNIDAD 4 TEORIA MATEMATICA
                    Jh O
                    Compiladores
                    David Elias
                    Los tipos de errores en programación
                    CryzPark
                    Programa
                    Aure Carrillo
                    Analizador semántico
                    Leonardo Alvarez
                    Compliador
                    Ronaldo Gomez