SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)
Javier Alvarez
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
maryr_
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
Isaí Beto Matz Mijes
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
Pablo Guerra
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
jomapuga
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
Emanuel Gs
 

What's hot (20)

Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
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
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y Aplicaciones
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
 

Viewers also liked (6)

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
 
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 to Maquina de pila abstracta

Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
sena
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminado
Laudiik
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminado
guest0fe33e2f
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminado
Laudiik
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtual
cikamelo
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtual
cikamelo
 
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
Richard Moya
 

Similar to 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
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (12)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

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.