我对开发一种在AVM2上运行的语言很感兴趣,我正在寻求从哪里开始的建议。我确实意识到这绝不是一项微不足道的任务,但我想试一试,至少在此过程中学习更多关于实现语言的知识。
我一直在研究ANTLR,并且一直在阅读有关语言开发的语法问题。我正在寻找的是一条可走的道路的建议或有用的参考/书籍。
例如,我想生成(脚本/手动)一些非常简单的AVM2字节码,并将其作为开始在VM上运行。
谢谢
发布于 2009-01-21 11:01:54
如果你对Haxe不感兴趣,你基本上需要编写自己的编译器,将对象编译成ABC (Actionscript Byte Code)。可以在ABC和AVM2上从Adobe获得的AVM2 Overview文档应该可以帮助您入门。这是一个相当全面的文档,但要注意字节码指令中的一些打字错误。
您还需要将字节码包装在doABC标记中,作为SWF容器的一部分。您可以从SWF File Format文档中获得更多信息。
如果你想先开始编写数据结构(优化的int格式等),请随时到asmock查看代码,asmock是我一直致力于的一个动态模拟项目。SWF/字节码生成的东西有点乱,但是有一些IDataOutput包装器(SWF、ByteCode)可能会派上用场。
发布于 2009-01-21 10:40:52
看看Haxe:它是一种开源语言,可以针对不同的平台,包括AVM。您可以深入研究SWF编译器源代码以获得一些灵感。
发布于 2009-12-27 21:28:29
奥多比的炼金术项目可以作为一个很好的参考http://labs.adobe.com/technologies/alchemy/
结果如何?(后来呢?)?我也有兴趣做一个从Java到AVM2的编译器...你有发布过的代码吗?
https://stackoverflow.com/questions/464722
复制相似问题