• 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
    Please download to view
  • All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
    ...

    Introduccion

    by perlallamas

    on

    Report

    Category:

    Education

    Download: 0

    Comment: 0

    2,188

    views

    Comments

    Description

     
    Download Introduccion

    Transcript

    • 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
  • Fly UP