Your SlideShare is downloading. ×
0
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Actividad 3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Actividad 3

121

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
121
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Actividad 3, Programación
  • 2.  Los intérpretes realizan normalmente dosoperaciones: Traducen el código fuente a un formatointerno. Ejecutan o interpretan el programa traducidoal formato interno. La primera parte del intérprete se llama aveces "el compilador", aunque el códigointerno que genera no es el lenguaje de lamáquina, ni siquiera lenguaje simbólico, nitampoco un lenguaje de alto nivel.
  • 3.  Programa de computadora que analiza el programa fuente y loejecuta directamente, sin generar ningún código equivalente. Suacción equivale a la de un intérprete humano, que traduce las frasesque oye sobre la marcha, sin producir ningún escrito permanente. Un intérprete facilita la búsqueda de errores, pues la ejecución deun programa puede interrumpirse en cualquier momento paraestudiar el entorno (valores de las variables, etc.). Además, elprograma puede modificarse sobre la marcha, sin necesidad devolver a comenzar la ejecución. Un intérprete permite utilizar funciones y operadores máspotentes, como por ejemplo ejecutar código contenido en unavariable en forma de cadenas de caracteres. Usualmente, este tipode instrucciones es imposible de tratar por medio de compiladores.Los lenguajes que incluyen este tipo de operadores y que, portanto, exigen un intérprete, se llaman interpretativos. Los lenguajescompilativos, que permiten el uso de un compilador, prescinden deeste tipo de operadores.
  • 4.  ¿Cuáles la estructura de los interpretes? Un intérprete es un programa quesimultáneamente analiza y ejecuta unprograma escrito en lenguaje fuente. Elproceso que realiza un intérprete es elsiguiente: lee la primera instrucción delcódigo fuente, la traduce a código objeto yla ejecuta; a continuación, hace lo mismocon la segunda instrucción; y asísucesivamente, hasta llegar a la últimainstrucción del programa, siempre y cuando,no se produzca ningún error que detenga elproceso.
  • 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 secontempla 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 binarioque se interpreta cada vez que se ejecuta elprograma a diferencia del compilador quecrea un archivo ejecutable. Ejemplos deprogramas que utilizan intérpretes son BASIC,y Visual Basic. En VB puedes compilar todo elprograma para crear un ejecutable o puedesejecutar un formulario o modulo a la vez, encuyo caso interviene un intérprete. Intérpretes de comandos: Toman el lenguajefuente (pueden incluir sentencias de control)y ejecuta operaciones sobre el SO:C-Shell,Korn-Shell, JCL…
  • 7.  Lenguajes basados en escritos: Herramientaspara el enlace entre diferentes sistemas oaplicaciones:Perl, Tcl/Ik, JavaScript … Entornos de programación: Lenguajes concaracterísticas o cuya compilación no esefectiva: Lisp, VisualBasic, smallTalk… Sistemas en tiempo real: Sistemas que permitenmodificar el código de una aplicación en tiempode ejecución de forma interactiva. Lenguajes de propósito específico: lenguajes consentencias que realizan tareas complejas encontextos específics: consltas de BBDD,simulación, entorno Matlab… Inérprete de código de un compilador para unamáquina abstracta (P-code de Pascal, bytecodede Java)
  • 8.  Un traductor es un programa que tiene comoentrada un texto escrito en un lenguaje (lenguajefuente) y como salida produce un texto escrito enun lenguaje (lenguaje objeto) que preserva elsignificado de origen. Ejemplos de traductores sonlos ensambladores y los compiladores.
  • 9.  Lenguajes interpretados: PHP, PERL, BASIC En algunas ocasiones se necesita de una traducciónrápida de algunas instrucciones, como en el Shell, instrucciones SQL, etc. Java al igual que otros lenguajes como C# sonlenguajes híbridos. Por una parte se compila un programa fuente para generar códigoobjeto para una máquina virtual (bytecode o MSIL) para posteriormente ejecutarse demanera interpretada en las diferentes máquinas virtuales de cada plataforma. Aeste compilador se les llama jitter de JIT (Just in Time)
  • 10. TRADUCTOR INTERPRETEUn traductor es un mediador entre dosentidades: emisoras y receptorasSe ejecutan línea por línea, instrucción porinstrucción.Los mediadores enmascaran la complejidad yheterogeneidad de los lenguajesTraducen 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 alformato internoLa traducción puede ser sencilla (literal) ocompleja (revisar el contexto) dependiendo deltipo de lenguaje entrada y salidaLa primera parte del intérprete se llama a veces"el compilador", aunque el código interno quegenera no es el lenguaje de la máquina, nisiquiera lenguaje simbólico, ni tampoco unlenguaje de alto nivelTraducción español a inglés si se hace demanera literal es una mala traducción, senecesita de al menos otra revisión (pasada)para hacer una buena traducción.Ahorra memoria.Produce un resultado que no se puedealmacenar, lo cual hace la ejecución lenta.No demasiado eficiente, cada vez que se entre enun 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 deaná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 einterpretación del código intermedio.Sistemas interactivos.Programas de pequeña envergadura.Programas de prototipo y de enseñanza

×