SlideShare una empresa de Scribd logo
1 de 12
Angelo Wallner 07-SCT6-146
  Wilfredo Peña 09-EIST-6-006
  Alcys Bautista 09-EIST-6-014
Juan Leandro Medina 09-EIST-040
Maquina abstracta
Puede definirse como un procedimiento para ejecutar un
conjunto de instrucciones en algún lenguaje formal.
 La definición de máquina abstracta no requiere que
  exista implementación de dicha máquina en
  Hardware, en cuyo caso sería una máquina concreta.
 De hecho, las máquinas de Turing son máquinas
  abstractas que ni siquiera pueden implementarse en
  Hardware.
Codigo Intermedio
       Un programa para una maquina abstracta



 Facil de Producir
  o   Reglas claras de como construirla
 Facil de traducir al lenguaje objeto
Codigo de 3 direcciones
 A = A*8 + B/7


   temp1 = A*8
   temp2 = B/7
   A = temp1 + temp2

 Variable temporales
Maquina de pila
Es un modelo computacional en el cual la memoria de la
computadora toma la forma de una o más pilas. El
término también se refiere a un computador real
implementando o simulando una máquina de pila
idealizada
Maquina de pila
 Memoria independiente para instrucciones y datos
 Toda operacion es con valores de la pila
 Operaciones
   Aritmetica entera
   Manipulacion de pila
   Control de flujo
Intrucciones
 Push v     inserta v en la pila
 ValD w     inserta valor de posicion w
 ValI w     inserta direccion de w
 Pop        saca valor de la pila
 :=         Pop y poner en direccion Pop
 Copy       Pop y Push-Push
máquina virtual
     Es una máquina abstracta para la que existe un
                     intérprete.

 Varios ejemplos de máquinas virtuales:
Desarrollada por Peter Landin en 1966 para
lenguajes funcionales. Posteriormente, la
implementación de lenguajes funcionales ha recurrido a
la utilización de máquinas basadas en transformación de
grafos.
             Máquina de pila desarrollada para
implementar el lenguaje Pascal.
         (Warren Abstract Machine). Desarrollada por
David Warren para el lenguaje Prolog en 1980.
         Máquina virtual desarrollada para el lenguaje
  Java.
La JVM se basa en la utilización de
una pila de ejecución y un repertorio de instrucciones
que manipulan dicha pila.
                        La máquina virtual puede dar
soporte a varios hilos de ejecución concurrente.
                      Un programa compilado se
representa mediante un conjunto de ficheros de código
de bytes que se cargan de forma dinámica y que
contienen una especificación sobre el comportamiento
de una clase
Los
ficheros class contienen información sobre el
comportamiento del módulo que puede verificarse antes
de su ejecución.
                                     La máquina integra
un recolector de basura, liberando al programador de
gestionar la memoria dinámica.
                                      La máquina ha sido
diseñada para ejecutar programas Java, adaptándose
fuertemente al modelo de objetos de Java.
Maquina de pila abstracta

Más contenido relacionado

La actualidad más candente

Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPUEduardo Suarez
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Dj Mada - Tres Valles, Veracruz
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 
Arquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDArquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDJuan Novelo
 
Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadoraMauricio Hernandez
 
Organización y arquitectura de computadores
Organización y arquitectura de computadoresOrganización y arquitectura de computadores
Organización y arquitectura de computadoresSofylutqm
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de softwareGeorge Corona
 

La actualidad más candente (20)

Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Arquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDArquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISD
 
Tema 4: Procesamiento paralelo.
Tema 4: Procesamiento paralelo.Tema 4: Procesamiento paralelo.
Tema 4: Procesamiento paralelo.
 
Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadora
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Organización y arquitectura de computadores
Organización y arquitectura de computadoresOrganización y arquitectura de computadores
Organización y arquitectura de computadores
 
Arquitecturas de computadoras
Arquitecturas de computadorasArquitecturas de computadoras
Arquitecturas de computadoras
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de software
 

Destacado

Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedioGuillermo
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De SoftwareJimmy Campo
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De CompiladorBigbossH
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladoresCJAO
 

Destacado (7)

Maquinas Abstractas
Maquinas AbstractasMaquinas Abstractas
Maquinas Abstractas
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladores
 

Similar a Maquina de pila abstracta

Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POOsena
 
OpenInfra Meetup 27082019 / Kata Containers
OpenInfra Meetup 27082019 / Kata ContainersOpenInfra Meetup 27082019 / Kata Containers
OpenInfra Meetup 27082019 / Kata ContainersAlvaro Soto
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoLaudiik
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminadoguest0fe33e2f
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoLaudiik
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtualcikamelo
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtualcikamelo
 
Presentacio virtualització
Presentacio virtualitzacióPresentacio virtualització
Presentacio virtualitzacióDani Salcedo
 
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y Puppet
Virtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y PuppetVirtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y Puppet
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y PuppetRichard Moya
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCFmikaelsorai
 

Similar a Maquina de pila abstracta (20)

Unidad 2. Lenguaje orientado a objetos
Unidad 2. Lenguaje orientado a objetosUnidad 2. Lenguaje orientado a objetos
Unidad 2. Lenguaje orientado a objetos
 
Mau
MauMau
Mau
 
Maquinavirtual java
Maquinavirtual javaMaquinavirtual java
Maquinavirtual java
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
OpenInfra Meetup 27082019 / Kata Containers
OpenInfra Meetup 27082019 / Kata ContainersOpenInfra Meetup 27082019 / Kata Containers
OpenInfra Meetup 27082019 / Kata Containers
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminado
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminado
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminado
 
MAQUINA VIRTUAL
MAQUINA VIRTUALMAQUINA VIRTUAL
MAQUINA VIRTUAL
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtual
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtual
 
Qué es java
Qué es javaQué es java
Qué es java
 
Presentacio virtualització
Presentacio virtualitzacióPresentacio virtualització
Presentacio virtualització
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y Puppet
Virtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y PuppetVirtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y Puppet
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y Puppet
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 
Java basico
Java basicoJava basico
Java basico
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (20)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

Maquina de pila abstracta

  • 1. Angelo Wallner 07-SCT6-146 Wilfredo Peña 09-EIST-6-006 Alcys Bautista 09-EIST-6-014 Juan Leandro Medina 09-EIST-040
  • 2. Maquina abstracta Puede definirse como un procedimiento para ejecutar un conjunto de instrucciones en algún lenguaje formal.  La definición de máquina abstracta no requiere que exista implementación de dicha máquina en Hardware, en cuyo caso sería una máquina concreta.  De hecho, las máquinas de Turing son máquinas abstractas que ni siquiera pueden implementarse en Hardware.
  • 3. Codigo Intermedio Un programa para una maquina abstracta  Facil de Producir o Reglas claras de como construirla  Facil de traducir al lenguaje objeto
  • 4. Codigo de 3 direcciones  A = A*8 + B/7 temp1 = A*8 temp2 = B/7 A = temp1 + temp2  Variable temporales
  • 5. Maquina de pila Es un modelo computacional en el cual la memoria de la computadora toma la forma de una o más pilas. El término también se refiere a un computador real implementando o simulando una máquina de pila idealizada
  • 6. Maquina de pila  Memoria independiente para instrucciones y datos  Toda operacion es con valores de la pila  Operaciones  Aritmetica entera  Manipulacion de pila  Control de flujo
  • 7. Intrucciones  Push v inserta v en la pila  ValD w inserta valor de posicion w  ValI w inserta direccion de w  Pop saca valor de la pila  := Pop y poner en direccion Pop  Copy Pop y Push-Push
  • 8. máquina virtual Es una máquina abstracta para la que existe un intérprete.  Varios ejemplos de máquinas virtuales:
  • 9. Desarrollada por Peter Landin en 1966 para lenguajes funcionales. Posteriormente, la implementación de lenguajes funcionales ha recurrido a la utilización de máquinas basadas en transformación de grafos. Máquina de pila desarrollada para implementar el lenguaje Pascal. (Warren Abstract Machine). Desarrollada por David Warren para el lenguaje Prolog en 1980. Máquina virtual desarrollada para el lenguaje Java.
  • 10. La JVM se basa en la utilización de una pila de ejecución y un repertorio de instrucciones que manipulan dicha pila. La máquina virtual puede dar soporte a varios hilos de ejecución concurrente. Un programa compilado se representa mediante un conjunto de ficheros de código de bytes que se cargan de forma dinámica y que contienen una especificación sobre el comportamiento de una clase
  • 11. Los ficheros class contienen información sobre el comportamiento del módulo que puede verificarse antes de su ejecución. La máquina integra un recolector de basura, liberando al programador de gestionar la memoria dinámica. La máquina ha sido diseñada para ejecutar programas Java, adaptándose fuertemente al modelo de objetos de Java.