Descargar

Introducción a los lenguajes de programación

Enviado por Pablo Turmero


    edu.red 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.

    edu.red 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.

    edu.red 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.

    edu.red Razones de la diversidad de lenguajes Evolución Propósitos Especiales Preferencia Personal

    edu.red Razones de Éxito de un Lenguaje Poder Expresivo Facilidad de Uso para Novatos Facilidad de Implementación Excelentes Compiladores Economía, Patronato e Inercia

    edu.red 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

    edu.red 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.

    edu.red Compilación e Interpretación: Traductor Código Fuente Entrada Salida Programa Intermedio Traductor Máquina Virtual Programa Intermedio

    edu.red 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

    edu.red Compilación e Interpretación:Compilación en C Código Fuente Lenguaje Ensamblador Código Fuente Modificado. Preprocesador Compilador Código Fuente Modificado

    edu.red 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

    edu.red 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