4

AVM2 で実行する言語を作成することに興味があり、どこから始めればよいかアドバイスを求めています。これは決して簡単な作業ではないことは承知していますが、試してみたいと思います。少なくとも、途中で言語の実装についてもっと学びたいと思います。

私は ANTLR をいじり、言語開発のための構文の問題を調べてきました。私が探しているのは、進むべき道についてのアドバイス、または有用な参考文献/本です。

たとえば、非常に単純な AVM2 バイトコードを (スクリプト/手動で) 生成し、それを VM 上で実行したいと考えています。

ありがとう

4

3 に答える 3

4

Haxe に興味がない場合は、基本的に、オブジェクトを ABC (Actionscript Byte Code) にコンパイルする独自のコンパイラを作成する必要があります。Adobe から ABC で入手できるAVM2の概要ドキュメントと、開始に役立つ AVM2 を参照してください。これはかなり詳細なドキュメントですが、バイトコード命令のいくつかのタイプミスに注意してください。

また、SWF コンテナの一部として doABC タグでバイトコードをラップする必要があります。詳細については、SWF ファイル形式のドキュメントを参照してください。

データ構造 (最適化された int 形式など) の記述に有利なスタートを切りたい場合は、私が取り組んでいる動的モッキング プロジェクトである asmock でコードをチェックアウトしてください。SWF/ByteCode の生成は少し面倒ですが、便利な IDataOutput ラッパー ( SWFByteCode ) があります。

于 2009-01-21T11:01:53.777 に答える
1

Haxeを見てみましょう。Haxeは、AVM を含むさまざまなプラットフォームをターゲットにできるオープン ソース言語です。SWF コンパイラのソース コードを掘り下げて、インスピレーションを得ることができます。

于 2009-01-21T10:40:52.303 に答える
1

Adobe による Project Alchemy が参考になります http://labs.adobe.com/technologies/alchemy/

どうだった?Java から AVM2 へのコンパイラにも興味があります... 公開されているコードはありますか?

于 2009-12-27T13:28:29.230 に答える