Pregunta

Estoy interesado en crear un lenguaje para ejecutar en el AVM2 y estoy buscando consejos sobre dónde comenzar. Me doy cuenta de que esto no es una tarea trivial, pero me gustaría intentarlo y al menos aprender más sobre la implementación de un lenguaje en el camino.

Me he metido con ANTLR y he estado leyendo sobre problemas de sintaxis para el desarrollo del lenguaje. Lo que estoy buscando es consejos sobre el camino a seguir o referencias / libros útiles.

Por ejemplo, me gustaría generar (script / manualmente) un bytecode AVM2 muy simple y hacer que se ejecute en la VM como un comienzo.

Gracias

¿Fue útil?

Solución

Si no está interesado en Haxe, básicamente necesitará escribir su propio compilador que compila objetos a ABC (código de bytes de ActionScript). El Descripción general de AVM2 disponible en Adobe en ABC y el AVM2, que debería ayudarlo a comenzar. Es un documento bastante completo, pero manténgase atento a algunos errores tipográficos en las instrucciones del código de bytes.

También deberá envolver el bytecode en una etiqueta doABC como parte de un contenedor SWF. Puede obtener más información en la formato de archivo SWF .

Si desea comenzar a escribir las estructuras de datos (formatos int optimizados, etc.), no dude en consultar el código en asmock, un proyecto de burla dinámica en el que he estado trabajando. El material de generación SWF / ByteCode es un poco desordenado, pero hay contenedores IDataOutput ( SWF , ByteCode ) que puede ser útil.

Otros consejos

Project Alchemy by Adobe puede ser una buena referencia http://labs.adobe.com/technologies/alchemy/

¿Cómo te fue? También estoy interesado en hacer un compilador de Java a AVM2 ... ¿Tienes algún código publicado?

Eche un vistazo a Haxe : es un lenguaje de código abierto que puede apuntar a diferentes plataformas, incluido el AVM. Puede profundizar en el código fuente del compilador SWF para obtener algo de inspiración.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top