INTERPRETE Un interprete es un programa que lee un programa en un lenguaje y lo traduce a un programa equivalente en otro lenguaje, y además informa al usuario sobre la presencia de errores en el programa de entrada programa programa fuente objeto mensajes de error Aparente complejidad- Tareas básicas interprete
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
INTERPRETEUn interprete es un programa que
lee un programa en un lenguaje y
lo traduce a un programa equivalente en otro lenguaje,
y además informa al usuario sobre
la presencia de errores en el programa de entrada
programa programa
fuente objeto
mensajes
de error
Aparente complejidad- Tareas básicas
interprete
TEORIA DE SOFTWARE DE SISTEMAS
Un computador digital es una máquina que puede resolver problemas ejecutando ciertas instrucciones.
Un programa es una secuencia de instrucciones.
Los circuitos electrónicos de cada computadora reconocen un conjunto limitado de instrucciones muy simples.
Lenguaje máquina es el conjunto de instrucciones básicas de una computadora
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)
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
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:
La función del microprograma es interpretar las instrucciones del nivel 2.
En algunas máquinas no existe el nivel de microprogramación.
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.
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 el sistema operativo.
Las que son idénticas a las del nivel 2 las lleva a cabo el microprograma.
Nivel 4: nivel del lenguaje ensamblador
Los niveles 4 y superiores son utilizados por los programadores de aplicaciones.
Los niveles inferiores están diseñados para ejecutar los intérpretes y traductores de los niveles superiores y son escritos por los programadores de sistemas.
El ensamblador es el programa que lleva a cabo la traducción de un programa del nivel 4.
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.
Conceptos relacionados
Con algunas técnicas básicas de escritura de compiladores se pueden construir traductores para una gran variedad de lenguajes y máquinas
Arquitectura de Computadoras
Arquitectura de Computadoras
Lenguajes de Programación
Lenguajes de Programación
Teoría de Lenguajes
Teoría de Lenguajes
Teoría de Algoritmos
Teoría de Algoritmos
Ingeniería de Software
Ingeniería de Software
CompiladoresCompiladores
CLASIFICACION GENERAL DE COMPILADORES De una pasada o de múltiples pasadas De carga y de 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, lenguajes de
implementación, entornos de programación y herramientas de software
Computadoras Hombre
HISTORIA
Código Máquina
Lenguaje Ensamblador
Código Máquina
Ensamblador
Código Máquina
Lenguaje Ensamblador
Lenguaje de Alto Nivel
CompiladorEnsamblador
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
ENSAMBLADOR
Traducen programas escritos en lenguaje ensamblador a código máquina
Traducen programas escritos en lenguaje de 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 del Programa Fuente (PF)
PREPROCESADOR
Sustituyen macros, incluyen archivos o extensión del lenguaje.
COMPILADOR
TIPOS DE SISTEMAS DE COMPILACIÓN
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
ANÁLISIS (Etapa Inicial):
Divide al PF en sus elementos componentes 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 representación Intermedia (requiere técnicas más especializadas)