La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción. Agenda Clase 1 ● Preámbulo histórico. ● Razones de la Diversidad de Lenguajes. ● Razones del Éxito de un Lenguaje. ● Clasificación ● Motivación.

Presentaciones similares


Presentación del tema: "Introducción. Agenda Clase 1 ● Preámbulo histórico. ● Razones de la Diversidad de Lenguajes. ● Razones del Éxito de un Lenguaje. ● Clasificación ● Motivación."— Transcripción de la presentación:

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


Descargar ppt "Introducción. Agenda Clase 1 ● Preámbulo histórico. ● Razones de la Diversidad de Lenguajes. ● Razones del Éxito de un Lenguaje. ● Clasificación ● Motivación."

Presentaciones similares


Anuncios Google