SlideShare una empresa de Scribd logo
Actividad 3, Programación
 Los intérpretes realizan normalmente dos
operaciones:
 Traducen el código fuente a un formato
interno.
 Ejecutan o interpretan el programa traducido
al formato interno.
 La primera parte del intérprete se llama a
veces "el compilador", aunque el código
interno que genera no es el lenguaje de la
máquina, ni siquiera lenguaje simbólico, ni
tampoco un lenguaje de alto nivel.
 Programa de computadora que analiza el programa fuente y lo
ejecuta directamente, sin generar ningún código equivalente. Su
acción equivale a la de un intérprete humano, que traduce las frases
que oye sobre la marcha, sin producir ningún escrito permanente.
 Un intérprete facilita la búsqueda de errores, pues la ejecución de
un programa puede interrumpirse en cualquier momento para
estudiar el entorno (valores de las variables, etc.). Además, el
programa puede modificarse sobre la marcha, sin necesidad de
volver a comenzar la ejecución.
 Un intérprete permite utilizar funciones y operadores más
potentes, como por ejemplo ejecutar código contenido en una
variable en forma de cadenas de caracteres. Usualmente, este tipo
de instrucciones es imposible de tratar por medio de compiladores.
Los lenguajes que incluyen este tipo de operadores y que, por
tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes
compilativos, que permiten el uso de un compilador, prescinden de
este tipo de operadores.
 ¿Cuáles la estructura de los interpretes?
 Un intérprete es un programa que
simultáneamente analiza y ejecuta un
programa escrito en lenguaje fuente. El
proceso que realiza un intérprete es el
siguiente: lee la primera instrucción del
código fuente, la traduce a código objeto y
la ejecuta; a continuación, hace lo mismo
con la segunda instrucción; y así
sucesivamente, hasta llegar a la última
instrucción del programa, siempre y cuando,
no se produzca ningún error que detenga el
proceso.
 Es conveniente utilizar una representación interna (RI) del lenguaje fuente a utilizar.
 La estructura interna de un intérprete puede descomponerse en módulos.
 Traductor RI. Toma P/LF lo analiza y lo transforma a P/RI
 RI. Árboles sintácticos, estructura de pila
 TS Etiquetas de saltos, información sobre identificadores…
 Evaluador de RI. A partir de RI y de los datos se realizan las operaciones, además se
contempla la aparición de errores.
 Tratamiento de errores. Pueden aparecer errores (de ejecución) que debe notificarse
 Los intérpretes generan un código binario
que se interpreta cada vez que se ejecuta el
programa a diferencia del compilador que
crea un archivo ejecutable. Ejemplos de
programas que utilizan intérpretes son BASIC,
y Visual Basic. En VB puedes compilar todo el
programa para crear un ejecutable o puedes
ejecutar un formulario o modulo a la vez, en
cuyo caso interviene un intérprete.
 Intérpretes de comandos: Toman el lenguaje
fuente (pueden incluir sentencias de control)
y ejecuta operaciones sobre el SO:C-Shell,
Korn-Shell, JCL…
 Lenguajes basados en escritos: Herramientas
para el enlace entre diferentes sistemas o
aplicaciones:Perl, Tcl/Ik, JavaScript …
 Entornos de programación: Lenguajes con
características o cuya compilación no es
efectiva: Lisp, VisualBasic, smallTalk…
 Sistemas en tiempo real: Sistemas que permiten
modificar el código de una aplicación en tiempo
de ejecución de forma interactiva.
 Lenguajes de propósito específico: lenguajes con
sentencias que realizan tareas complejas en
contextos específics: consltas de BBDD,
simulación, entorno Matlab…
 Inérprete de código de un compilador para una
máquina abstracta (P-code de Pascal, bytecode
de Java)
 Un traductor es un programa que tiene como
entrada un texto escrito en un lenguaje (lenguaje
fuente) y como salida produce un texto escrito en
un lenguaje (lenguaje objeto) que preserva el
significado de origen. Ejemplos de traductores son
los ensambladores y los compiladores.
 Lenguajes interpretados: PHP, PERL, BASIC
 En algunas ocasiones se necesita de una traducción
rápida de algunas instrucciones,
 como en el Shell, instrucciones SQL, etc.
 Java al igual que otros lenguajes como C# son
lenguajes híbridos. Por una parte se
 compila un programa fuente para generar código
objeto para una máquina virtual
 (bytecode o MSIL) para posteriormente ejecutarse de
manera interpretada en las
 diferentes máquinas virtuales de cada plataforma. A
este compilador se les llama
 jitter de JIT (Just in Time)
TRADUCTOR INTERPRETE
Un traductor es un mediador entre dos
entidades: emisoras y receptoras
Se ejecutan línea por línea, instrucción por
instrucción.
Los mediadores enmascaran la complejidad y
heterogeneidad de los lenguajes
Traducen el código fuente a un formato interno.
Un traductor convierte un lenguaje de entrada
(código fuente) a uno de salida (código objeto)
Ejecutan o interpretan el programa traducido al
formato interno
La traducción puede ser sencilla (literal) o
compleja (revisar el contexto) dependiendo del
tipo de lenguaje entrada y salida
La primera parte del intérprete se llama a veces
"el compilador", aunque el código interno que
genera no es el lenguaje de la máquina, ni
siquiera lenguaje simbólico, ni tampoco un
lenguaje de alto nivel
Traducción español a inglés si se hace de
manera literal es una mala traducción, se
necesita de al menos otra revisión (pasada)
para hacer una buena traducción.
Ahorra memoria.
Produce un resultado que no se puede
almacenar, lo cual hace la ejecución lenta.
No demasiado eficiente, cada vez que se entre en
un bucle se analizaran sus sentencias.
Facilita el proceso de depuración.
No produce resultados transportables.
Dos etapas en la traducción: análisis y síntesis.
Análisis:
Léxico: de caracteres a componentes.
Sintáctico: de componentes a arboles de
análisis.
Semántico: de árboles de análisis a AST.
Síntesis: En compilación:
Generación de código intermedio.
Generación de código objeto.
Optimización (mezclada con las anteriores).
En interpretación, dos opciones:
Generación directa de resultados.
Generación de código intermedio e
interpretación del código intermedio.
Sistemas interactivos.
Programas de pequeña envergadura.
Programas de prototipo y de enseñanza
Actividad 3

Más contenido relacionado

La actualidad más candente

Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
Sergio Lara Guevara
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
Guillermo
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
Infomania pro
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxicokatherine133
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semanticoAreli Gómez
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
ADOLFOISAIASGARCIASI
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
Infomania pro
 
Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacion
guest9a91e2
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
CJAO
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
Infomania pro
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintacticoalexisdario
 
Compiladores
CompiladoresCompiladores
Compiladores
Isabel
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
Pablo Guerra
 
Introducción A Compiladores
Introducción A Compiladores Introducción A Compiladores
Introducción A Compiladores Nestor Traña
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De CompiladorBigbossH
 
Analizador léxico
Analizador léxico Analizador léxico
Analizador léxico Jorge Molano
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Infomania pro
 

La actualidad más candente (20)

Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxico
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacion
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintactico
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Introducción A Compiladores
Introducción A Compiladores Introducción A Compiladores
Introducción A Compiladores
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 
Analizador léxico
Analizador léxico Analizador léxico
Analizador léxico
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugb
 

Similar a Actividad 3

Traductores de lenguajes de programación
Traductores de lenguajes de programaciónTraductores de lenguajes de programación
Traductores de lenguajes de programaciónDaniela Brignolo
 
Universidad fermín toro
Universidad fermín toroUniversidad fermín toro
Universidad fermín toro
Slims Colmenarez
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
Israel Castillo Cruz
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
Kriz Kozlov
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresNancyandRegina317
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
Danielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
Danielita Lopez
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compiladorDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
Danielita Lopez
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
Yenny Salazar
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
H:\compiladores
H:\compiladoresH:\compiladores
Actividad 3 programacion de sistemas
Actividad 3 programacion de sistemasActividad 3 programacion de sistemas
Actividad 3 programacion de sistemasJESSIKADG86
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
Alejandro Santana
 
Procesadores de Lenguajes
Procesadores de LenguajesProcesadores de Lenguajes
Procesadores de Lenguajes
GLORIABELEN3
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
kinverdar
 

Similar a Actividad 3 (20)

Traductores de lenguajes de programación
Traductores de lenguajes de programaciónTraductores de lenguajes de programación
Traductores de lenguajes de programación
 
Universidad fermín toro
Universidad fermín toroUniversidad fermín toro
Universidad fermín toro
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 
Compiladores iswi (parte 2)
Compiladores iswi (parte 2)Compiladores iswi (parte 2)
Compiladores iswi (parte 2)
 
Actividad 3 programacion de sistemas
Actividad 3 programacion de sistemasActividad 3 programacion de sistemas
Actividad 3 programacion de sistemas
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Procesadores de Lenguajes
Procesadores de LenguajesProcesadores de Lenguajes
Procesadores de Lenguajes
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 

Actividad 3

  • 2.  Los intérpretes realizan normalmente dos operaciones:  Traducen el código fuente a un formato interno.  Ejecutan o interpretan el programa traducido al formato interno.  La primera parte del intérprete se llama a veces "el compilador", aunque el código interno que genera no es el lenguaje de la máquina, ni siquiera lenguaje simbólico, ni tampoco un lenguaje de alto nivel.
  • 3.  Programa de computadora que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente.  Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). Además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución.  Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores.
  • 4.  ¿Cuáles la estructura de los interpretes?  Un intérprete es un programa que simultáneamente analiza y ejecuta un programa escrito en lenguaje fuente. El proceso que realiza un intérprete es el siguiente: lee la primera instrucción del código fuente, la traduce a código objeto y la ejecuta; a continuación, hace lo mismo con la segunda instrucción; y así sucesivamente, hasta llegar a la última instrucción del programa, siempre y cuando, no se produzca ningún error que detenga el proceso.
  • 5.  Es conveniente utilizar una representación interna (RI) del lenguaje fuente a utilizar.  La estructura interna de un intérprete puede descomponerse en módulos.  Traductor RI. Toma P/LF lo analiza y lo transforma a P/RI  RI. Árboles sintácticos, estructura de pila  TS Etiquetas de saltos, información sobre identificadores…  Evaluador de RI. A partir de RI y de los datos se realizan las operaciones, además se contempla la aparición de errores.  Tratamiento de errores. Pueden aparecer errores (de ejecución) que debe notificarse
  • 6.  Los intérpretes generan un código binario que se interpreta cada vez que se ejecuta el programa a diferencia del compilador que crea un archivo ejecutable. Ejemplos de programas que utilizan intérpretes son BASIC, y Visual Basic. En VB puedes compilar todo el programa para crear un ejecutable o puedes ejecutar un formulario o modulo a la vez, en cuyo caso interviene un intérprete.  Intérpretes de comandos: Toman el lenguaje fuente (pueden incluir sentencias de control) y ejecuta operaciones sobre el SO:C-Shell, Korn-Shell, JCL…
  • 7.  Lenguajes basados en escritos: Herramientas para el enlace entre diferentes sistemas o aplicaciones:Perl, Tcl/Ik, JavaScript …  Entornos de programación: Lenguajes con características o cuya compilación no es efectiva: Lisp, VisualBasic, smallTalk…  Sistemas en tiempo real: Sistemas que permiten modificar el código de una aplicación en tiempo de ejecución de forma interactiva.  Lenguajes de propósito específico: lenguajes con sentencias que realizan tareas complejas en contextos específics: consltas de BBDD, simulación, entorno Matlab…  Inérprete de código de un compilador para una máquina abstracta (P-code de Pascal, bytecode de Java)
  • 8.
  • 9.  Un traductor es un programa que tiene como entrada un texto escrito en un lenguaje (lenguaje fuente) y como salida produce un texto escrito en un lenguaje (lenguaje objeto) que preserva el significado de origen. Ejemplos de traductores son los ensambladores y los compiladores.
  • 10.
  • 11.  Lenguajes interpretados: PHP, PERL, BASIC  En algunas ocasiones se necesita de una traducción rápida de algunas instrucciones,  como en el Shell, instrucciones SQL, etc.  Java al igual que otros lenguajes como C# son lenguajes híbridos. Por una parte se  compila un programa fuente para generar código objeto para una máquina virtual  (bytecode o MSIL) para posteriormente ejecutarse de manera interpretada en las  diferentes máquinas virtuales de cada plataforma. A este compilador se les llama  jitter de JIT (Just in Time)
  • 12. TRADUCTOR INTERPRETE Un traductor es un mediador entre dos entidades: emisoras y receptoras Se ejecutan línea por línea, instrucción por instrucción. Los mediadores enmascaran la complejidad y heterogeneidad de los lenguajes Traducen el código fuente a un formato interno. Un traductor convierte un lenguaje de entrada (código fuente) a uno de salida (código objeto) Ejecutan o interpretan el programa traducido al formato interno La traducción puede ser sencilla (literal) o compleja (revisar el contexto) dependiendo del tipo de lenguaje entrada y salida La primera parte del intérprete se llama a veces "el compilador", aunque el código interno que genera no es el lenguaje de la máquina, ni siquiera lenguaje simbólico, ni tampoco un lenguaje de alto nivel Traducción español a inglés si se hace de manera literal es una mala traducción, se necesita de al menos otra revisión (pasada) para hacer una buena traducción. Ahorra memoria. Produce un resultado que no se puede almacenar, lo cual hace la ejecución lenta. No demasiado eficiente, cada vez que se entre en un bucle se analizaran sus sentencias. Facilita el proceso de depuración. No produce resultados transportables. Dos etapas en la traducción: análisis y síntesis. Análisis: Léxico: de caracteres a componentes. Sintáctico: de componentes a arboles de análisis. Semántico: de árboles de análisis a AST. Síntesis: En compilación: Generación de código intermedio. Generación de código objeto. Optimización (mezclada con las anteriores). En interpretación, dos opciones: Generación directa de resultados. Generación de código intermedio e interpretación del código intermedio. Sistemas interactivos. Programas de pequeña envergadura. Programas de prototipo y de enseñanza