NekoVM


NekoVM es una máquina virtual desarrollada por Nicolas Cannasse como parte de los esfuerzos de investigación y desarrollo (I + D) en dos empresas independientes de videojuegos en Burdeos , Francia : primero en Motion Twin y luego en Shiro Games . El idioma nativo de NekoVM es el código de bytes para un lenguaje de programación de alto nivel escrito dinámicamente llamado Neko . Este emparejamiento permite que Neko se utilice directamente como un lenguaje de scripting integrado o para apuntar a NekoVM compilando algún otro lenguaje (como Haxe ) en el código de bytes de NekoVM.

Neko tiene un compilador y una máquina virtual (VM) con recolección de basura . El compilador convierte un archivo .neko de origen en un archivo .n de código byte que se puede ejecutar con la máquina virtual. Dado que Neko se escribe dinámicamente sin clases fijas, un desarrollador solo necesita encontrar el mapeo de tiempo de ejecución adecuado (en contraste con el mapeo de tipos) para que el código se ejecute correctamente. Como dice la FAQ de Neko : "... es más fácil escribir un idioma nuevo o existente en el NekoVM que para CLR / JVM , ya que no tienes que lidiar con un sistema de tipos de alto nivel. Además, esto significa que los lenguajes pueden interoperar más fácilmente ya que solo necesitan compartir las mismas estructuras de datos y no siempre los mismos tipos ".[1]

Neko requiere compilar antes de ejecutarse, como otros lenguajes de scripting como Apache Groovy . Dado que no es necesario interpretar Neko en tiempo de ejecución, se ejecuta más rápido. El lenguaje de programación Haxe se puede compilar en código Neko, entre otros objetivos.

La máquina virtual Neko se utiliza para ejecutar un archivo de código de bytes Neko, la máquina virtual también tiene la opción de convertir un archivo de código de bytes en un archivo ejecutable (la salida cambia según el sistema operativo de destino).

Neko incluye módulos de servidor Apache mod_neko para el lenguaje Neko y mod_tora para alojar la tora del servidor de aplicaciones NekoVM . Como tal, puede procesar la entrada del usuario mediante solicitudes GET y POST: