ıllı Internet y Tecnologías de la Información (2018)

internet, Hosting, dominios, seo, antivirus, banco de imágenes, páginas web, tiendas online

[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):

ıllı Máquina virtual Parrot wiki: info, historia y vídeos

videos internet

salud  Máquina virtual Parrot 


Parrot es una máquina virtual basada en registros, que es desarrollada en lenguaje C, y que pretende la ejecución de programas escritos en diferentes lenguajes activos, de forma eficaz. Exactamente la misma usa un mecanismo de colección en tiempo de ejecución para apresurar la velocidad de ejecución de los programas y reducir la labor de los lenguajes interpretados. En la actualidad es posible compendiar el lenguaje ensamblador de Parrot y el PIR (su lenguaje intermedio), para producir bytecodes -en formato Parrot- que pueden ser ejecutados en esta máquina virtual.


Parrot fue iniciada en la comunidad Perl, mas se prosigue desarrollando con la ayuda de otras comunidades de código abierto. Como resultado, el proyecto está enfocado en la compatibilidad entre las licencias GPL y Artistic, la compatibilidad de plataformas (Unix, Microsoft Windows, Mac OS X y Mac OS Classic, VMS, Windows CE, Palm OS y otros), la compatibilidad entre arquitecturas (x86, IA-sesenta y cuatro, PowerPC, SPARC, MIPS, Alpha, ARM, entre otros muchos), la velocidad de ejecución, la reducción de su tamaño (cerca de 700k en dependencia de la plataforma), y en dotarla con la suficiente flexibilidad para aguantar lenguajes como Perl seis, Python, Tcl, Ruby, Scheme y otros lenguajes activos. El proyecto asimismo está enfocado en progresar las capacidades de introspección, depuración y modulación semántica en tiempo de colección, de esta máquina virtual.


La versión diez, con una API estable para desarrollo, fue lanzada el diecisiete de marzo de dos mil nueve.


El objetivo de la máquina virtual Parrot es alojar lenguajes clientes del servicio, y permitir la interoperación entre ellos. Existen un conjunto de inconvenientes que solucionar para lograr este propósito.


Lenguajes estáticos y dinámicos


Las diferentes propiedades de los lenguajes tipados estática y dinámicamente han influido en el diseño de Parrot. Las presentes máquinas virtuales populares como la máquina virtual Java y el Common Language Runtime han sido diseñados para ser utilizados con lenguajes tipados estáticamente, al paso que los lenguajes objetivo de Parrot son dinámicamente tipados.


Las máquinas virtuales afines a la de Java y la presente máquina virtual de Perl cinco están asimismo basadas en pila (máquina de pila). Los desarrolladores ven como una ventaja que la máquina Parrot tenga registros, y en consecuencia recuerda más de cerca un diseño hardware, lo que deja emplear la vasta literatura sobre la optimización de compiladores para producir código para la máquina virtual Parrot, de forma que el bytecode se ejecute a velocidades próximas a la de lenguajes compilados como C.


Conceptos funcionales


Parrot tiene un extenso soporte para un conjunto de peculiaridades de programación funcional, incluyendo clausuras y continuaciones, que son singularmente bastante difíciles de incorporar correctamente y portable, singularmente en conjunción con el manejo de salvedades y también hilos de ejecución. La mayor ventaja es la expansibilidad activa de objetos con métodos (PMC) y operaciones genéricas. Incorporar soluciones a estos inconvenientes a nivel de la máquina virtual previene la reiteración de sacrificios en la resolución de esos inconvenientes en los lenguajes usuario individuales.


Herramientas del compilador

Motor de Análisis Sintáctico

Parrot provee un conjunto de herramientas de escritura de compiladores que incluye el Motor de Análisis Sintáctico (Parser Grammar Engine - PGE), un generador de analizadores híbridos que puede expresar analizadores recursivos descendentes como analizadores basados en precedencia de operadores, lo que deja la libre transición entre los 2 en una sola gramática. El PGE nutre al Motor de Árboles Sintácticos (Tree Grammar Engine - TGE) que convierte el árbol sintáctico generado por el PGE para su optimización y de forma última para la generación de código.


Lenguajes clientes del servicio existentes


Además de un subconjunto del planeado Perl seis, se pueden recopilar en lenguaje ensamblador de Parrot un conjunto creciente de lenguajes, incluyendo APL, BASIC, Befunge, Brainfuck, Cola, Forth, Jako, Lisp, M4, Miniperl, Ook!, Parakeet, OpenComal, PHP, Plot, Pheme, Punie, Python, Ruby, Scheme, Span, Tcl (asimismo conocido como partcl), URM, Winxed, y YAL. La mayor parte de estas otras implementaciones de lenguajes están en la actualidad aún incompletas y son experimentales.


Posibles lenguajes futuros y proyectos


Hay un fuerte interés en unas partes de la comunidad de Ruby. La comunidad de Python está tomando una actitud más de aguardar y ver, debido a que tienen Psyco y PyPy, que son intérpretes que compilan código Python a código máquina just-in-time, Jython, que es un compilador de Python a códigos de byte Java, y también IronPython para compendiar a la plataforma .NET, como PyPy en desarrollo, que es una reescritura de Python en Python dirigida a proveer generación estática de código, como un elevado nivel de optimización.


Parrot está basado en registros, como la mayor parte de las CPUs en hardware, y en contraste a la mayor parte de las máquinas virtuales, que están basadas en pilas. Parrot provee 4 géneros de registros:



  • I: tipo entero nativo
  • N: números en coma flotante
  • S: registros avanzados de cadenas con soporte para Unicode
  • P: PMC, o Parrot Magic Cookie — tipo objeto de Parrot

Hasta la versión 0.3.0, Parrot proveía típicamente treinta y dos registros de cada tipo, con la posibilidad de activar sesenta y cuatro registros. Versiones siguientes proveen un número ilimitado de registros; cada función puede pedir tantos registros de cada tipo como necesite.


Operaciones aritméticas


En PASM

setI1,4incI1# I1 es ahora 5addI1,2# I1 es ahora 7setN1,42.0decN1# N1 es ahora 41.0subN1,2.0# N1 es ahora 39.0printI1print","printN1print"\n"end

En PIR

.submain :main dólares americanos I1 = 4inc dólares americanos I1#  dólares americanos I1 es ahora cinco dólares americanos I1 += 2#  dólares americanos I1 es ahora siete dólares americanos N1 = cuarenta y dos.0dec dólares americanos N1#  dólares americanos N1 es ahora cuatrocientos diez dólares americanos N1 -= 2.0#  dólares americanos N1 es ahora 39.0print dólares americanos I1print", "print dólares americanos N1print"\n" .end

La línea (humorística) actual del proyecto Parrot es «un bytecode para regirlos a todos», en referencia al Anillo Único de El hobbit y El Señor de los Anillos, de Tolkien


Hasta el final de dos mil cinco, Dan Sugalski fue el diseñador primordial y el arquitecto técnico jefe de Parrot. Chip Salzenberge, un viejo programador de Perl, del kernel de Linux, y de C++, aceptó esta situación cara la mitad de dos mil cinco, cuando se transformó en el desarrollador primordial. Allison Randal, la desarrolladora primordial de Punie y arquitecto técnico jefe de la cadena de herramientas de compilador de Parrot, es ahora el arquitecto técnico jefe.


Las discusiones sobre el desarrollo tienen sitio de forma principal en la lista de correa de portadores de Perl, alojada en perl.org. Además de esto, hay encuentros semanales moderados para los desarrolladores de Parrot y de sus lenguajes alojados en #parrotsketch en irc.perl.org. El canal #parrot en esa red es visitado de manera frecuente por los programadores de Parrot.


Las discusiones de diseño existen en la manera de Documentos de Diseño de Parrot, o bien PDDs, en el repositorio de Parrot El arquitecto técnico jefe o bien algún otro diseñador designado genera estos documentos para explicar la filosofía de una característica, como su interfaz y notas de diseño. Los programadores de Parrot transforman estos documentos en pruebas ejecutables, y entonces se incorporan dichas peculiaridades.


  ELIGE TU TEMA DE INTERÉS: 


autoayuda.es   Internet y Tecnologias 

Está aquí: Inicio > [ INTERNET ] > ıllı Máquina virtual Parrot wiki: info, historia y vídeos

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ver políticas