COMPILADORES E INTÉRPRETES

Description

Traductores
Jaime Amado López Gómez
Slide Set by Jaime Amado López Gómez, updated more than 1 year ago
Jaime Amado López Gómez
Created by Jaime Amado López Gómez over 8 years ago
44
1

Resource summary

Slide 1

    COMPILADORES E INTÉRPRETES

Slide 2

    DEFINICIÓN DE COMPILADORES
    Proceso de traducción que convierte un programa fuente escrito en un lenguaje de alto nivel a un programa objeto en código máquina y listo por tanto para ejecutarse en el ordenador, con poca o ninguna preparación adicional

Slide 4

    En los 50 los compiladores eran considerados programas muy difíciles  FORTRAN se desarrolló en grupo durante 18 años  Se han desarrollado técnicas sistemáticas, entornos de programación y herramientas software que facilitan la tarea de desarrollo  Gran variedad de lenguajes de alto nivel. Gran variedad de lenguajes objeto, tanto otro lenguaje de alto nivel como código máquina Los primeros traducían fórmulas aritméticas a código máquina  Varios grupos independientemente desarrollaron técnicas de análisis No puede darse una fecha exacta del primer desarrollo
    Compiladores

Slide 5

Slide 6

    Motivación (I)
    Para ser buen programador --Saber como se obtiene un ejecutable permite saber más sobre corrección y eficiencia Para entender más sobre lenguajes --Tipificación: estática, dinámica, fuerte, polimorfismo, conversiones, sobrecarga de operadores... --Estructura de bloques, ámbitos Paso de parámetros --Gestión de memoria, punteros

Slide 7

    La teoría es imprescindible Antes de la aplicación de teoría de autómatas y lenguajes formales, programación, etc. Los compiladores eran muy malos Aplicar la teoría y herramientas a otros campos: Intérpretes de comandos y consultas Formateadores de texto (TeX, LaTeX) Lenguajes de simulación (GPSS) Intérpretes Gráficos (PS, GIF, JPEG, PovRAY)
    Motivación (II)

Slide 8

    Ensamblador: Compilador sencillo, el lenguaje fuente tiene una estructura simple que permite una traducción de una sentencia fuente a una instrucción en código máquina Compilador cruzado: Compilador que traduce un lenguaje fuente a objeto, el objeto es para un ordenador distinto del que compila
    Compilador; Definiciones I

Slide 9

    Compilador; Definiciones II
    Compile-Link-Go frente a Compile-Go: Lenguaje que permita la fragmentación, compilación separada y enlazado de las parte El compilador deja en memoria directamente un módulo cargable que se ejecuta a continuación Compilador de una o varias pasadas: “Pasada”: recorrido total de todo el fuente con alguna misión específica

Slide 10

    Compilador; Definiciones III
    Traductor o compilador incremental (interactivo o conversacional) Encontrados y corregidos los errores después solo se compilan estos Autocompilador Compilador escrito en el propio lenguaje que compila Facilitar la portabilidad

Slide 11

    Compilador; Definiciones IV
    Metacompilador Programa que recibe un lenguaje y genera un compilador para ese lenguaje Decompilador Programa que recibe como entrada código máquina y lo traduce a un lenguaje de alto nivel

Slide 12

Slide 14

Slide 15

    Analizador Léxico (scanner)
    Análisis Lineal: La cadena de entrada se lee de izquierda a derecha y se agrupa en componentes léxicos (tokens) Secuencias de caracteres con un significado colectivo

Slide 16

Slide 18

Slide 19

Slide 21

Slide 22

    Fases de un Compilador
    Agrupación lógica de un compilador Etapa Inicial Fases, o parte de fases que dependen del lenguaje fuente y que son independientes de la máquina Análisis léxico, sintáctico, semántico y generación de código intermedio, manejo de errores de cada parte Etapa Final Fases que depende de la máquina, depende del lenguaje intermedio Optimización de código, generación de código, operaciones con la tabla de símbolos
Show full summary Hide full summary

Similar

Conceptos básicos de redes
ARISAI DARIO BARRAGAN LOPEZ
Herramientas de Software para Comercio y Finanzas
mishelleisabel
INFORMÁTICA JURÍDICA
willy_a_devia
OLGA DEL ROCÍO
otito88
INFORMÁTICA JURIDICA
jeyson0832
Informática Jurídica Juan Pablo Carvajal Soto
Juan Pablo Carvajal
"Formas de integrar TIC en un aula de clases"
Diana Peñailillo
Economía Estrategia y Desarrollo Empresarial
Isabel Ordoñez M
CAMPOS DE ACCIÓN DE LA INGENIERÍA INFORMÁTICA
Jorge Mora