Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPorfirio Orona Modificado hace 9 años
1
Introducción
2
Agenda Clase 1 ● Preámbulo histórico. ● Razones de la Diversidad de Lenguajes. ● Razones del Éxito de un Lenguaje. ● Clasificación ● Motivación del Estudio de los Lenguajes. ● Diversos Aspectos de la Compilación y la Interpretación. ● Casos de Estudio. ● Fases de la Compilación.
3
Preámbulo 40’s: ● Primeros computadores electrónicos de gran costo y tamaño, con escasa capacidad de cómputo. ● Programados en principio en lenguaje de máquina, posteriormente en lenguaje ensamblador. ● Programación centrada en el tipo de máquina.
4
Preámbulo 50’s: ● Se desarrolla el primer lenguaje de alto nivel (dialecto original de Fortran) ● A Fortran le siguen lenguajes como LISP y Algol ● Traducción de lenguaje de alto nivel a lenguaje de máquina a través de un compilador.
5
Razones de la diversidad de lenguajes Evolución Propósitos Especiales Preferencia Personal
6
Razones de Éxito de un Lenguaje Poder Expresivo Facilidad de Uso para Novatos Facilidad de Implementación Excelentes Compiladores Economía, Patronato e Inercia
7
Clasificación de los Lenguajes ● Declarativos ( qué hace la computadora) Funcionales: LISP/Scheme, ML, Haskell Flujo de Datos: Id, Val Lógicos, basados en restricciones: Prolog, VisiCalc Imperativos (cómo debería hacerlo) Von Neumann: Fortran, Pascal,Basic, C Orientados a Objetos. Smalltalk, Eiffel, C++, Java
8
Por qué estudiar Lenguajes ● Facilita el aprendizaje de lenguajes en particular. ● Permite entender las características obscuras de los lenguajes que se utilizan. ● Ayuda a la escogencia entre alternativas disponibles ● Contribuye a hacer buen uso de debuggers, assemblers y herramientas relacionadas. ● Permite simular características en lenguajes que no las poseen.
9
Compilación e Interpretación: Compilador Código Fuente Entrada Salida Programa Objeto Compilador Programa Objeto Controla la Compilación Controla la Ejecución
10
Compilación e Interpretación: Interpretador Código Fuente Entrada Salida Interpretador Controla la Ejecución
11
Compilación e Interpretación: Traductor Código Fuente Entrada Salida Programa Intermedio Traductor Máquina Virtual Programa Intermedio
12
Compilación e Interpretación: Enlazador (Linker) Programa Fuente Librería de rutinas Programa en Lenguaje de Máquina Lenguaje de Máquina Incompleto Compilador Linker Lenguaje de Máquina Incompleto
13
Compilación e Interpretación: Compilador + “Assembler” Programa Fuente Lenguaje de Máquina Lenguaje Ensamblador Compilador Assembler Lenguaje Ensamblador
14
Compilación e Interpretación: Compilación en C Código Fuente Lenguaje Ensamblador Código Fuente Modificado. Preprocesador Compilador Código Fuente Modificado
15
Compilación e Interpretación: Compilación en C++ Código Fuente Código C Programa Fuente Modificado. Preprocesador Compilador C++ Programa Fuente Modificado Lenguaje Ensamblador Compilador C Código C
16
Fases de la Compilación Flujo de Caracteres Flujo de Tokens Árbol Sintáctico Concreto Árbol Sintáctico Abstracto u otra forma intermedia. Forma Intermedia Modificada Lenguaje de máquina, ensamblado u otro código objeto. “Scanner” (Análisis Léxico) “Parser” (Análisis Sintáctico) Análisis Semántico y generación de código intermedio Mejoras Independientes del código de la máquina (opcional) Generación de código objeto Mejoras de código específicas a la máquina (opcional) Tabla de Símbolos FRONT END BACK END
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.