Sisten
Profesor: Eridan Otto
Introducción
• Perspectiva histórica
• Motivación • Definiciones • Componentes y fases de un compilador
1
Compiladores e intérpretes Introducción
– Definiciónes básicas
– Traductor: desde un punto de vista general, es un proceso que convierte un programa escrito o texto en un lenguaje fuente a un texto o programa escritoen un lenguaje de destino.Incluyen tanto a los compiladores como a los intérpretes. – Compilador: Proceso de tradución que convierte un programa fuente escrito en un lenguaje de alto nivel, a un programa objeto en código de máquina, listo por tanto para su ejecución en el computador. Programa Fuente
Compilador
Programa Objeto
Mensajes de Error
Compiladores e intérpretes Introducción– Definiciónes básicas – Intérprete : Ejecuta una a una las instrucciones de un programa de alto nivel. La entrada es un archivo en un lenguaje de alto nivel, la diferencia con un compilador es que la salida es una ejecución – Ej:Basic, LISP, PROLOG son interpretados – Ventaja: fácil depuración – Desventaja:lentitud y consumo de recursos (pues el intérprete ocupa tiempo y memoria)
2Compiladores e intérpretes
Introducción
Perspectiva histórica:
Años 40-50
Años 50-60
Años 60-
Compiladores e intérpretes
Introducción. Perspectiva histórica:
– En los 50 los compiladores eran considerados programas muy difíciles de construir – Ejemplo: Fortran evolucionó durante 18 años de trabajo en grupo. – Hoy en día se han desarrollado técnicas sistemáticas,entornos de programación yherramientas de software que facilitan la tarea de desarrollo de compiladores, intérpretes y traductores
3
Compiladores e intérpretes
Introducción. Perspectiva histórica:
– Los primeros compiladores traducían fórmulas aritméticas a código de máquina – No puede darse una fecha exacta del primer desarrollo – Varios grupos en forma independiente desarrollaron técnicas de análisis y diseñode compiladores. – Hoy en día hay gran variedad de compiladores para múltiples lenguajes de alto nivel , disponibles para muchas plataformas, es decir cubren gran variedad de códigos de máquina
Compiladores e intérpretes
Introducción.
Conceptos Relacionados
Lenguajes de programación
Arquitectura de computadores Teoría de lenguajes
Compiladores Ingeniería de software
Teoría dealgoritmos
4
Compiladores e intérpretes
Introducción.
Motivación: el conocimiento de estos tópicos permite
– Saber más sobre corrección y eficiencia del código – Profundizar más sobre lenguajes: – Tipos:clases, estáticos, dinámicos, polimorfismo, sobrecarga de operadores, conversiones – Estructura de bloques, ámbitos – Paso de parámetros – Gestión de memoria, punteros
Compiladores eintérpretes
Introducción.
Motivación: el conocimiento de estos tópicos permite
– Aplicación de la teoría a la práctica – Antes de el uso de teoría de autómatas y lenguajes formales, técnicas de programación, los compiladores eran muy malos. – Aplicar teoría y herramientas a otros campos: – Intérpretes de comandos y consultas en interfases usuarias – Formateadores de textos (latex) – Lenguajes desimulación (GPSS) – Editores de texto
5
Compiladores e intérpretes
Introducción.
Compilador, definiciones I:
– Ensamblador – Compilador de bajo nivel, el lenguaje fuente tiene una estructura simple que permite una traducción , una a una de una sentencia fuente a una en código de máquina. – Compilador cruzado: – Compilador que toma un lenguaje fuente y genera un código objeto, esteobjeto es para una plataforma o computador distinto en el que se compila.Ejemplo uso: fase de desarrollo de nuevos computadores.
Compiladores e intérpretes
Introducción.
Compilador, definiciones II:
– Compilar- linkear-ejecutar versus compilar-ejecutar: – La primera opción permite la modularización, compilando por separado las partes y luego enlazándolas. – La segunda opción es la más...
Regístrate para leer el documento completo.