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.

Slides:



Advertisements
Presentaciones similares
Introducción a la Programación
Advertisements

Clasificación de los compiladores
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Prof. Ing.Maria Rosa Damaso Rios
Cb00843 Traductores Rogelio Dávila Pérez Profesor Planta
LENGUAJES DE PROGRAMACIÓN Y ALGORITMOS
Prototipo de compilador didáctico del lenguaje LC99
TEMA 3 Parte A Lenguajes de programación. Criterios de clasificación según su nivel de abstracción según la forma de ejecución según el paradigma de programación.
Facultad de Ciencias de la Computación
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa.
Fundamentos de programación
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
PROGRAMACIÓN.
SOFTWARE DE PROGRAMACIÓN
Lenguajes de programación
INSTITUTO TECNOLOGICO DE MINATITLAN
INTRODUCCION A LOS ALGORITMOS (Conceptos previos)
Teoría de lenguajes y compiladores
Entornos de programación
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
Programación 1 Introducción
Introducción a la programación
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Conceptos Fundamentales
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
TRADUCTOR DE UN PROGRAMA
Paradigmas de Programación
M.C. Meliza Contreras González
Cobol C Pascal Fortran 1. INTRODUCCIÓN SmallTalk Java C++
Resumen de Compilación Preparado por Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Traducido por Christian Torres Universidad Ricardo.
1 LENGUAJES DE PROGRAMACIÓN Javier Martín Centro Asociado de Móstoles UNED.
Introducción a los lenguajes de programación
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
Compiladores Introducción Oscar Bonilla Universidad Galileo.
 Fue en el año 1945 cuando el matemático Jhon Von Neumann, fascinado por las posibilidades del ENIAC, demostró que una computadora podía tener una estructura.
FUNDAMENTOS DE PROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ.
UNIVERSIDAD DE EL SALVADOR FACULTAD DE CIENCIAS ECONOMICAS
1.4 Traductor y Su estructura
Procesadores de Lenguajes
LENGUAJES DE PROGRAMACIÓN
U1. Introducción a la programación
PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN.
M.C. Juan Carlos Olivares Rojas
Programación de Sistemas
Tema 1. Introducción y Conceptos Básicos
COMPILADORES DIANA ROCIO OLAYA MESA.
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Prof. Gabriel Matonte Programación I Prof. Gabriel Matonte
 Un LENGUAJE DE PROGRAMACION es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas al cabo por maquinas como las computadoras.
INFORMATICA VII (Programación e implementación de sistemas)
Tema 6. Introducción a la programación
Programación Java y Desarrollo de Aplicaciones
Lenguajes de Programación
JULIAN DARIO RAMIREZ CORRECHA PROSOF12. °QUE ES UN ALGORITMO °CLASES DE ALGORITMOS °QUE ES UN LENGUAJE DE PROGRAMACION °QUE ES UN LENGUAJE DE PROGRAMACION.
Teoría de lenguajes y compiladores
UNIVERSIDAD LATINA (UNILA)
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Metodología de la programación
“PARADIGMAS Y LENGUAJES DE PROGRAMACION”
Prof. Flor Narciso Departamento de Computación
Lenguajes de Programación
Lenguaje programación
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Compilador Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa.
Aspectos de diseñó de los lenguajes de programación
Programación de Sistemas
FUNDAMENTOS DE PROGRAMACIÓN
TESCO “CARACTERISTICAS DE LENGUAJES DE PROGRAMACIÓN” “CARACTERISTICAS DE LENGUAJES DE PROGRAMACIÓN” DOCENTE: ROBERTO CARLOS MUÑOZ CELAYA”
Autómatas y Compiladores. Primera Semana. Ricardo Vargas Del Valle A35469.
Lenguajes de Programación (Definición, Clasificación y Ejemplos)
Transcripción de la presentación:

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 del Estudio de los Lenguajes. ● Diversos Aspectos de la Compilación y la Interpretación. ● Casos de Estudio. ● Fases de la Compilación.

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.

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.

Razones de la diversidad de lenguajes  Evolución  Propósitos Especiales  Preferencia Personal

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

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

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.

Compilación e Interpretación: Compilador Código Fuente Entrada Salida Programa Objeto Compilador Programa Objeto Controla la Compilación Controla la Ejecución

Compilación e Interpretación: Interpretador Código Fuente Entrada Salida Interpretador Controla la Ejecución

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

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

Compilación e Interpretación: Compilador + “Assembler” Programa Fuente Lenguaje de Máquina Lenguaje Ensamblador Compilador Assembler Lenguaje Ensamblador

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

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

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