¿Alguien me puede decir dónde encontrar la especificación del código de bytes de Lua? He estado buscando 15 minutos y no puedo encontrar nada.Especificación del código de bytes de Lua
Respuesta
¿Tal vez A No-Frills Introduction to Lua 5.1 VM Instructions contiene lo que estás buscando?
También hay una tabla del conjunto de instrucciones Lua 5,0 (Figura 5) en:
Ierusalimschy, R .; Figueiredo, L. H .; Celes, W. (2005), "La implementación de Lua 5.0", J. of Universal Comp. Sci. (7): 1159-1176
Puede encontrar el texto completo con una búsqueda en Google Scholar y creo que es el lua.org también. Esta referencia es utilizada por la página de Lua en Wikipedia, que siempre es un buen lugar para buscar tales cosas. :-)
La definición oficial está en lopcodes.h.
Es curioso cómo alguien que cotiza su libro recibe el cheque cuando proporciona la _reference_. Oh bien, +1 de mi parte – Bahbar
@Bahbar, me alegraste ese día con ese comentario: P –
Puede leer The Implementation of Lua 5.0 en línea.
Muy interesante, ya que siempre quise saber cómo funciona todo en algunos detalles relacionados con el código. –
Las únicas especificaciones para Lua son el idioma, las bibliotecas estándar y la API C. Los creadores de Lua ha dejado intencionadamente en la máquina virtual especificada por un par de razones principales:
- Lua puede ser totalmente implementado con cualquier arquitectura subyacente (VM, intérprete, compilador, etc.)
- La distribución oficial de Lua doesn No tiene que preocuparse por mantener la compatibilidad de VM entre las versiones
Esto significa, por ejemplo, que generalmente no debe usar Lua VM como destino para un compilador. Si desea saber cómo la máquina virtual de distribución Lua oficial funciona como un ejemplo para su propia curiosidad, consulte las otras respuestas.
Lo es. Al igual que el _todo código fuente oficial de Lua_. – jv110
@ jv110 Lo malinterpretas. El código fuente de Lua es simplemente una implementación de referencia de Lua, no es "El" Lua. La única * especificación * para Lua es el lenguaje en sí y la API C. Cualquiera puede implementar esa especificación usando cualquier mecánica subyacente que quiera: VM, intérprete, FPGA/ASIC (chip físico). Los creadores de Lua lo han dejado sin especificar a propósito para hacer que el lenguaje sea lo más flexible posible. – Cogwheel
Te estás perdiendo el punto. Él claramente preguntó sobre el bytecode oficial, que es (por _far_) la implementación más común. No importa si otras implementaciones lo usan o no. – jv110
- 1. Código de sangría Lua en Lua
- 2. Ayúdame a entender esta parte del código de Lua
- 3. Procedimiento de especificación del paquete
- 4. Especificación RowDefinition.Height en el código
- 5. Clonación del estado de Lua
- 6. Especificación del lenguaje PHP?
- 7. Especificación del código del marco de la entidad de clave externa Primero, Api fluido
- 8. Código de bytes al código fuente de Java
- 9. Ayuda de implementación del patrón de especificación
- 10. ¿Java produce código de objeto o código de bytes?
- 11. Especificación del tipo de contenido en rspec
- 12. Especificación del número L (largo) de Java
- 13. Especificación del lenguaje principal del esquema
- 14. Un generador de código C++ de una especificación XML
- 15. ¿Cómo pegas Lua al código C++?
- 16. ¿Dónde está la especificación del formato Thrift?
- 17. Especificación RSS Código HTML dentro de la fuente RSS
- 18. Confusión en la instrucción de código de bytes de cheque?
- 19. Especificación del archivo .blg de Perfmon/biblioteca de análisis
- 20. Especificación del formato de almacén de claves JKS
- 21. práctica estándar para exponer el patrón de especificación al código del cliente?
- 22. Lua, ¿qué es Lua?
- 23. Convertir el árbol de sintaxis abstracto en código de bytes
- 24. convertido base 64 Cadena de código de bytes de Java
- 25. significado de código de importación de bytes significado
- 26. Implementación del patrón de especificación de Entity Framework
- 27. Uso de Python de global versus especificación del módulo
- 28. Scala/Hadoop: Especificación del contexto para Reducer
- 29. Especificación de la restricción del constructor para el parámetro genérico
- 30. BizTalk: Encontrar la especificación del documento no
LuaForge se cerró. Entonces, tu enlace está muerto. ¿Recuerdas qué proyecto estuvo involucrado? Tal vez fue migrado a github ... –
El enlace ahora apunta a una búsqueda de Google Scholar para ese artículo. Devuelve hits en varios dominios diferentes (incluido un enlace directo al archivo en luaforge). – thsutton
Gracias por la actualización. –