1-Lenguajes de Programacion y Paradigmas del Lenguaje
Click here to load reader
Transcript of 1-Lenguajes de Programacion y Paradigmas del Lenguaje
Lenguajes Formales y de Programación
Lenguajes de Programacion, Procesadores de Lenguaje
02/02/2011
1
Sección A-
Primer Semestre 2011
Inga. Damaris Campos
Aux. Evander Flores
Índice
Objetivos
Alcance
Tema de la Presentación
02/02/20112
Tema de la Presentación
Resumen
Preguntas
Objetivos
02/02/20113
Objetivos
� Describir que es un lenguaje de programación.
� Identificar las características por las cuales se clasifican los lenguajes de programación.
02/02/20114
clasifican los lenguajes de programación. � Describir los Procesadores de Lenguaje� Describir las fases del compilador� Que es un Interprete
Alcances
02/02/20115
Alcance� Lenguajes de Programación
� Clasificación de Lenguajes de Programación
� Procesadores de lenguaje� Traductores
� Intérpretes
02/02/20116
� Intérpretes
� Estructura de los traductores� Fase de Análisis
� Fase Síntesis
� Compilador y sus fases
� Interprete
Lenguajes de Programación
Definición, Características y Origen
02/02/20117
DefiniciónUn lenguaje de programación es un conjunto de caracteres, las
reglas para su combinación, y de reglas que especifican sus efectos cuando ejecutado por un computador.
02/02/20118
Características� No requiere conocimientos de código en la máquina del
usuario.
� Posee independencia de la máquina.
� Se traduce en lenguaje máquina.
� Emplea una notación que se acerca más solucionar una
02/02/20119
� Emplea una notación que se acerca más solucionar una problemática que a código de máquina.
OrigenLos Lenguajes de Programación nacen con el propósito de
estandarizar la programación de las computadoras, no importando su sistema operativo o los dispositivos que esta posee.
02/02/201110
Principales lenguajes de origen
� FORTRAN (FORmula TRANslation) 1957
� COBOL (COmnon Business Oriented Language) 1959.
� LISP (LISt Preocessing) 1959.
Clasificación de los lenguajes de Programación
Según la abstracción, ejecución o paradigma.
02/02/201111
Clasificación de los Lenguajes� Según su nivel de abstracción
� Según su forma de ejecución
� Según el Paradigma de Programación
02/02/201112
Según el Nivel de Abstracción
� El nivel de abstracción de un lenguaje nos indica que tan semejante al lenguaje de una computadora es el lenguaje de programación.
Clasificación de los Lenguajes
02/02/201113
programación.
Según el Nivel de Abstracción
� Bajo: código máquina, ensamblador.
� Medio: BCPL, C.
Clasificación de los Lenguajes
02/02/201114
� Medio: BCPL, C.
� Alto: Java, C#, Haskell, Lisp, Cobol,
Perl, Clips, Pascal, etc.
Nivel bajo de Abstracción� Código de Máquina (1GL)
� Código Ensamblador (2GL)
02/02/201115
Nivel alto de Abstracción
� Una serie de reglas e instrucciones expresar el procesamiento de datos en una forma simbólica, sin preocuparse por la traducción a código de máquina.
� Son independientes del modelo de procesador.
� Fáciles de aprender.
02/02/201116
� Fáciles de aprender.
� Asociados a elementos del lenguaje natural. (ingles)
Nivel medio de Abstracción� Los lenguajes BCPL, C poseen la capacidad de interactuar
con dispositivos de la computadora a bajo nivel y las características de un lenguaje de alto nivel.
02/02/201117
Procesadores de Lenguaje� Los procesadores de lenguaje son todos los programas que a
través de una entrada escrita en un lenguaje de programación pueden manipular herramientas de software y hardware de un computador. Estos procesadores de lenguaje se dividen en traductores e intérpretes.traductores e intérpretes.
02/02/201118
Procesadores de Lenguaje� Jerarquía
02/02/201119
Procesadores de LenguajeTraductor� Un traductor es un programa que recibe un código fuente y
lo traduce a otro código, generalmente a un código objeto, sin perder su funcionamiento.
02/02/201120
CompiladorSe trata de un programa informático que tomando como entrada un
código fuente de un lenguaje de programación X lo transforma a otro lenguaje, generando un programa equivalente el cual la maquina es capaz de interpretar.
“Un compilador es un programa que permite traducir el código fuente de un
02/02/201121
“Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora”
fuente: Wikipedia
Fases de un Compilador
02/02/201122
Partes de un CompiladorLas fases generalmente se agrupan en dos tareas
� Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al:o Análisis Léxico
o Análisis Sintáctico
02/02/201123
o Análisis Sintáctico
o Análisis Semántico
� Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de Generación de Código y de Optimización de Código.
Procesadores de LenguajeInterprete
Es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel.
02/02/201124
Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, un interprete sólo realiza la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
Procesadores de LenguajeInterprete
� Un intérprete es un programa diseñado para ejecutar instrucciones de un código determinado, no genera ningún tipo de código adicional, y es ejecutable.
02/02/201125
Según su forma de Ejecución
� Lenguajes ejecutados por un Compilador
Clasificación de los Lenguajes
02/02/201126
� Lenguajes ejecutados por un Compilador
� Lenguajes ejecutados por un Intérprete
Lenguaje ejecutado por un compilador
� Son lenguajes de alto nivel, que por medio la compilación, transforman de código fuente a código de máquina, generando un código intermedio.
02/02/201127
Lenguaje ejecutado por un intérprete� Al momento de ejecutarse deben ser traducidos por un
programa auxiliar, un intérprete, que traslada el programa fuente a lenguaje de máquina línea tras línea.
� Transcriben cualquier error al momento de interpretar.
02/02/201128
Según el paradigma de programación� Paradigma imperativo
� Paradigma funcional
� Paradigma lógico
Clasificación de los Lenguajes
02/02/201129
Paradigma lógico
� Paradigma orientado a objetos
RESUMENLenguaje de programación:
� Símbolos, reglas, estructura y es independiente del computador.
� Objetivo es controlar el comportamiento de una máquina.
02/02/201130
RESUMENClasificación de lenguaje de programación:
� Nivel de Abstracción: Alto, medio y bajo.
� Modo de Ejecución: Compilados e interpretados
� Según el Paradigma: Imperativo, funcional, lógico y orientado a
02/02/201131
� Según el Paradigma: Imperativo, funcional, lógico y orientado a objetos.
RESUMEN� Procesador de Lenguaje:
Los procesadores de lenguaje son todos los programas que a través de una entrada escrita en un lenguaje de programación pueden manipular herramientas de software y hardware de pueden manipular herramientas de software y hardware de un computador. Estos procesadores de lenguaje se dividen en traductores e intérpretes.
02/02/201132
Compilador� Programa informático que traduce un código fuente de un
lenguaje de programación a otro distinto, generando un programa equivalente que puede ser interpretado por la maquina.Fases del compilador Partes del compilador
RESUMEN
02/02/201133
� Fases del compilador Partes del compilador� Análisis Léxico
� Análisis Sintáctico Análisis � Análisis Semántico� Generación de código intermedio
� Optimización de código intermedio Síntesis� Generación de código objeto
RESUMEN� Intérprete
un interprete sólo realiza la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
02/02/201134