Javaのソースコードを、FlashのActionScript 3 に変換します

 
Java To ActionScript3

パッケージ定義、メソッド定義、変数定義、キャストなど手作業で書き変えていくと、うんざりする作業を補助します。

Javaソースの解釈は、Java1.5のコンパイラの機能を使っているので、入り組んだキャストなどは問題なく解釈できます。


吸収できない文法の違い(匿名クラスなど)、APIなどについては、Javaのまま書き出しますので、手作業での修正をお願いいたします。

単純に文法の違いを変換するだけのツールですので、過度の期待はせずに使ってください。

例)
Java
ActionScript3
変数宣言
Abc a = new Abc( ) ;

var a:Abc = new Abc( ) ;
メソッド
public void func( int v ){

public function func( v:int ):void{

キャスト
Abc a = (Abc)b ;


var a:Abc = Abc(b) ;


★必ず起動前に『利用規約』をお読みください。ソフトウェアをダウンロードまたは起動いただいた時点で、利用規約に同意しているものとみなされます。



<注意!>

現在、このソフトで使用しているJavaのWeb配布機能(Java Web Start)に致命的な欠陥があり、 OS上に生成されたショートカットファイルに ファイルをドラッグ&ドロップすると ファイルが削除されてしまいます。

それを理解した上で、お使いいただける場合は下記ボタンを クリックして進んで下さい。

Start
当ソフトウェアは「電子署名」を適用して配布しています(詳細)
配布元 : CYBERNOIDS CO.,LTD.
認証機関 : Thawte ( VeriSign子会社 )

Java (5.0以降)がインストールされている場合は、上のボタンから起動してください。

Javaのインストールは→

■使い方

・Javaソースコードをクリップボードにコピーして、このソフトの「クリップボードから変換」ボタンを押してください。
・変換が成功すると、変換結果のActionScript3のソースが、クリップボードにコピーされます。

・Javaのソースコードは、
  1.ファイル全文
  2.メソッドやフィールド定義(複数可)
  3.メソッド内の適当な文

など、区切りのよさそうな範囲でコピーすれば、変換できます。

■変換の癖

・配列、ArrayList/Listは、Arrayに変換してしまいます。
・StringがキーとなるMapは、ActionScript3ではObjectクラスを使うのですが、自動変換はしていません。String以外をキーに持つ場合は、独自にMapを実装する必要があると思います。
・Javaのforeach( )は、 AS3のfor( )に変換されます。

■出来ないこと

・ファイルパスによる変換、複数ファイルの一括変換
・API は変換できません。お手数ですが、手作業で修正ください。
・コメントは消えてしまいます。申し訳ありません。
・Java1.5までの文法に対応しています。

・staticの初期化、匿名クラス、メソッド内の final 、など素直に変換できないところは変換しません。


■更新履歴

★2008/3/20 リリースしました。


■ライセンス?

・Javaのコンパイラ部分は、JavaCCによるJava1.5パーサ(LGPL)をダイナミックリンクして使っております。下記にあります。

https://javacc.dev.java.net/
の「repository of JavaCC grammars」をクリックすると、
Java 1.5 grammar and AST


■このようなコンバータの作り方(方針)

・コンパイラの仕組みを、どこかのサイトで軽く把握して下さい。
・上のライブラリなどを使うと、ソースコードから、AST(抽象構文木)ができます。
・ASTの中身を深さ優先(だったかな?)で走査しながら、遭遇した ExpressionやStatementごとに、Java>ActionScript3の文法変換や構造変換を繰り返していきます。
・すると、思いのほかサクッと、 コンバートできるようになります。

このツールを開発〜Java Web Startで配備するまで作者時間で延べ2.5日ぐらいです(1日が16時間ぐらいなんですが(笑))。ある程度、骨格ができるとあとは簡単にできますので、是非トライして、自分好みの、よりまともなコンバータを作ってみてください。

開発者のブログ



■動作環境

Java 5.0 以降
OpenGL(1.4以降推奨)


■対応OS

Windows2000/XP/Vista
Win版 Javaダウンロード

MacOSX10.4.5 以降
Mac版 Javaのダウンロード

その他、Java5がインストールされたLinuxなど










Copyright (C) 2007 Cybernoids Co.,Ltd. All rights reserved.