Introduccion

Education

perlallamas
of 25
Description
 
Text
  • 1. INTERPRETE
    • Uninterpretees un programa que
  • lee un programa en un lenguaje y
  • lo traduce a un programaequivalenteen otro lenguaje,
  • y además informa al usuario sobre
  • la presencia de errores en el programa de entrada
  • programaprograma
  • fuenteobjeto
  • mensajes
  • deerror
  • Aparente complejidad - Tareas básicas
interprete
  • 2. TEORIA DE SOFTWARE DE SISTEMAS
    • Uncomputador digitales una máquina que puede resolver problemas ejecutando ciertas instrucciones.
    • Unprogramaes una secuencia de instrucciones.
    • Los circuitos electrónicos de cada computadora reconocen un conjunto limitado de instrucciones muy simples.
    • Lenguaje máquinaes el conjunto de instrucciones básicas de una computadora
  • 3. TRADUCTORES
    • Utilizar lenguaje máquina es difícil y tedioso.
    • Solución:
        • sea L1 el lenguaje máquina
        • y L2 un lenguaje más fácil de utilizar
    programa en L2 programa en L1 compilación (compilador) interpretación (intérprete)
  • 4. MÁQUINAS MULTINIVEL ACTUALES
    • La mayoría de las máquinas actuales constan de 6 niveles.
    • Los microprogramas son directamente ejecutados por el hardware.
    Lenguajes de alto nivel Lenguaje ensamblador Sistema operativo Máquina convencional Microprogramación Lógica digital nivel 5 nivel 4 nivel 3 nivel 2 nivel 1 nivel 0 Traducción (compilador) Traducción(ensamblador) Interpretación (sistema operativo) Interpretación (microprograma) Ejecutados directamente
  • 5. Nivel 0: nivel de lógica digital
    • Es el hardware de la máquina.
    • El nivel inferior sería el nivel de dispositivo.
    • En este nivel:
        • Puertas lógicas
        • Circuitos integrados
        • Circuitos combinacionales
        • Circuitos aritméticos
        • Relojes
        • Memorias
        • Microprocesadores
        • Buses
  • 6. Nivel 1: nivel de microprogramación
    • Existe un programa llamado microprograma.
    • La función del microprograma es interpretar las instrucciones del nivel 2.
    • En algunas máquinas no existe el nivel de microprogramación.
  • 7. Nivel 2: nivel de máquina convencional
    • Cada fabricante publica el “Manual de referencia del lenguaje máquina” para cada uno de los computadores.
    • Las instrucciones del nivel de máquina las interpreta el microprograma.
    • En las máquinas en las que no existe el nivel de microprogramación, las instrucciones del nivel de máquina son realizadas directamente por los circuitos electrónicos.
  • 8. Nivel 3: nivel del sistema operativo
    • La mayoría de las instrucciones de este nivel están también en el nivel 2 pero además tiene un nuevo conjunto de instrucciones, una organización diferente de la memoria, posibilidad de ejecutar 2 o más programas ...
    • Las nuevas instrucciones las interpreta elsistema operativo .
    • Las que son idénticas a las del nivel 2 las lleva a cabo el microprograma.
  • 9. Nivel 4: nivel del lenguaje ensamblador
    • Los niveles 4 y superiores son utilizados por losprogramadores de aplicaciones .
    • Los niveles inferiores están diseñados para ejecutar los intérpretes y traductores de los niveles superiores y son escritos por losprogramadores de sistemas .
    • El ensamblador es el programa que lleva a cabo la traducción de un programa del nivel 4.
  • 10. Nivel 5: nivel de lenguajes de alto nivel
    • Los lenguajes de alto nivel son más fáciles de utilizar que los lenguajes de niveles inferiores.
    • Son utilizados por los programadores de aplicaciones.
    • Los traductores de programas en lenguaje de alto nivel pueden ser compiladores o intérpretes.
  • 11. Conceptos relacionados
    • Con algunas técnicas básicas de escritura de compiladoresse pueden construir traductores para una gran variedad de lenguajesy máquinas
    Arquitectura deComputadoras Lenguajes deProgramación Teoría de Lenguajes Teoría deAlgoritmos Ingeniería deSoftware Compiladores
  • 12.
    • CLASIFICACION GENERAL DE COMPILADORES
    • De una pasada o de múltiples pasadas
    • De cargayde ejecución
    • De depuración o de optimización
    • HISTORIA
    • Experimentación relacionada a traducción de
    • fórmulas
    • 1950: difícil escritura
    • Primer FORTRAN: 18 años
    • Hoy: técnicas sistemáticas, lenguajesde implementación , entornosde programacióny
    • herramientasde software
  • 13.
    • ComputadorasHombre
    HISTORIA CódigoMáquina LenguajeEnsamblador CódigoMáquina Ensamblador CódigoMáquina LenguajeEnsamblador Lenguaje deAlto Nivel Compilador Ensamblador
  • 14.
    • El Diseño de un compilador surge como resultado de:
      • Desarrollo de un nuevo lenguaje de programación
      • Adición de extensiones a los ya existentes
      • Explotación de las características del hardware
    • A futuro:
      • Extensión para el cómputo paralelo y distribuido
      • Explotación de características multimedia (MMX)
    HOY…. Y A FUTURO
  • 15.
    • ENSAMBLADOR
      • Traducen prog ramasescritos en leng uajeensamblador a código máquina
      • Traducen prog ramasescritos en leng uajede alto nivel a código intermedio o a código máquina
    • INTERPRETE
      • No genera código objeto, analiza y ejecuta directamente cada proposición delProgramaFuente (PF)
    • PREPROCESADOR
      • Sustituyen macros, incluyen archivos o extensión del lenguaje.
    COMPILADOR TIPOS DE SISTEMAS DE COMPILACIÓN
  • 16. SISTEMA PARA PROCESAMIENTO DE UN LENGUAJE
    • estructura del programa fuente
    • programa fuente
    • programa objeto en lenguaje ensamblador
    • código de máquina relocalizable
    • biblioteca
    • archivos obj.relocal.
    • código de máquina absoluto
    preprocesador ensamblador compilador editor de carga y enlace
  • 17.
    • ANÁLISIS (Etapa Inicial) :
    • Divide al PF en suselementoscomponentes y crea una representación intermedia.
    • Se determinan las operaciones y se registran en una estructura de árbol (ej. árbol sintáctico)
    • SÍNTESIS (Etapa Final) :
    • Construye el PO deseado a partir de la rep resentaciónIntermedia (requiere técnicas más especializadas)
    PARTES DE LA COMPILACIÓN
  • 18. UN AMBIENTE GENERAL DE COMPILACIÓN Fuente Análisis léxico Análisis sintáctico Análisis semántico Intermedio Generador de código Código relocalizable Enlazador Objeto Más: Sistemas deedición ydepuración
  • 19. ANÁLISIS DEL PROGRAMA FUENTE
    • ANALISIS LINEAL (Léxico- Exploración- Scanner)
    • Se lee el programa como una cadena de izquierda a derecha,se agrupan y se generancomponentes léxicosotokens(secuencia de caracteres con significado colectivo)
    • ANALISIS JERARQUICO (Sintáctico- Parser)
    • Los componentes léxicos se agrupan en colecciones anidadas con un significado colectivo (frases gramaticales que por lo general se representan mediante
    • árboles sintácticos )
    • ANALISIS SEMANTICO
    • Se realizan revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo
  • 20. EJEMPLO DE ANÁLISIS: posicion :=inicial + velocidad* 60
        • a ) Componentes léxicos:
          • 1. El identificadorposicion
          • 2. El símbolo de asignación:=
          • 3. El identificadorinicial
          • 4. El signo de suma:+
          • 5. El identificadorvelocidad
          • 6. El signo de multiplicación:*
          • 7. El número60
    • Los identificadores o nombres reconocidos se organizan en una
    • tabla de símbolos quese usará en los pasos siguientes
  • 21. FASES DE UN COMPILADOR
    • PROGRAMA FUENTE
    • analizador léxico
    • analizador sintáctico
    • administradoranalizador semánticomanejador
    • de la tablagenerador de código intermediodeerrores
    • de símbolosoptimizador de código
    • generador de código
    • PROGRAMA OBJETO
    • Cadafasetransforma al PF de una representación a otra
  • 22. ESQUEMA DE BLOQUES DE UN COMPILADOR
    • FUENTECompilador
    • ANALISIS
    • Scanner
    • Tabla
    • Parserde
    • símbolos
    • SINTESIS
    • Prep. para la Gen.
    • del código
    • OBJETOGener. del código
  • 23. ESTRUCTURA FUNCIONAL DE UN COMPILADOR(de una pasada)
    • SENTENCIA
    • FuenteExploradorRecono-GeneradorObjeto
    • cedorde código
    • Tabla de
    • símbolos
  • 24.
    • Cada fase puede encontrar errores y debe tratarlo para continuar con la Compilación, permitiendo detectar más errores
    • Lasfases de Analisis Sintáctico y Semántico manejan la mayoría de los errores
    • En el Anáilsis Semántico se detectan errores donde la estructura sintáctica es correcta pero no tiene significado la operación
    • ( Por. ej. sumar dos ID , donde uno es el nombre de una matriz y el otro un nombre de procedimiento)
    DETECCIÓN E INFORMACIÓNDE ERRORES
  • 25.
    • MODELOLENGUAJECARACTERISTICAS
    • CompiladoFortran, COBOL,Sintaxis rigurosa,
    • C/C++, Pascalvelocidad y tamaño
    • InterpretadoLisp,AWK, BASIC,Desempeño lento.
    • SQLActividades no planea-
    • das. Sintaxis relajadas
    • PseudocompiladoJavaTransportabilidad
    • absoluta, desempeño
    • intermedio. Sintaxis
    • rigurosa
    EL LENGUAJE Y LA HERRAMIENTA
  • Comments
    Top