mozilla

Rhino JavaScript Compiler

概要

JavaScript コンパイラは、JavaScript ソースを Java クラス・ファイルへと変換します。結果の Java クラス・ファイルは、別の機会に読み込んで実行することができます。JavaScript を変換したり、翻訳コストを抑えるための、便利なメソッドが提供されています。

シェルで利用できるトップレベルの関数 (print のような) は、コンパイルされたスクリプトの場合、シェルの外部で実行するときは利用できないことに注意してください。

コンパイラのコマンドライン

<tt>java org.mozilla.javascript.tools.jsc.Main</tt> [オプション] <tt>file1.js [file2.js...]</tt>

オプション について:

<tt>-extends</tt> java-class-name

Java クラスの java-class-name を拡張するものとして、JavaScript ソースファイルを元に生成する。ソースファイル内の各グローバル関数は、生成されるクラスのメソッドとして作られ、基底クラスの同名のメソッドがあればオーバーライドされる。

<tt>-implements</tt> java-intf-name

Java インターフェースの java-class-name を実装するものとして、JavaScript ソースファイルを元に生成する。ソースファイル内の各グローバル関数は、生成されるクラスのメソッドとして作られ、インターフェース内の同名のメソッドがあれば実装されることになる。

<tt>-debug
-g</tt>

デバッグ情報を生成する。ゼロより大きい optLevel の最適化とは、併用できないかもしれない。

<tt>-main-method-class</tt> className

メインのメソッド実装に使われるクラス名を指定する。ここでのクラスは <tt>public static void main(Script sc, String[] args)</tt> に合ったメソッドを持たなければならない。

<tt>-nosource</tt>

クラス・ファイル内にソースを保持しない。このようにコンパイルされた関数やスクリプトは、逆コンパイルできない。このオプションは、ソースの流出を避けたり、単に結果のクラス・ファイルのスペースの節約のために利用することができる。

<tt>-o</tt> outputFile

指定のファイル (.class で終わっているべき) に、クラス・ファイルを書き込む。outputFile は、書き込み可能なファイル名でなければならない。

<tt>-opt</tt> optLevel

optLevel のレベルで最適化を行う。それは -1〜9 の間の数値でなければならない。詳しくは、最適化 を参照のこと。optLevel がゼロより大きければ、<tt>-debug</tt> は指定できないはずです。

<tt>-package</tt> packageName

指定のパッケージとしてクラスを生成する。packageName は、任意でピリオドによって分割された、有効な識別文字で構成されていなければならない。

<tt>-version</tt> versionNumber

指定の言語バージョンとしてコンパイルする。versionNumber の値は、100, 110, 120, 130, 140, 150, あるいは 160 のうちのいずれかでなければならない。言語バージョンについて、詳しくは JavaScript 言語バージョン を参照のこと。

実例

$ cat test.js
java.lang.System.out.println("hi, mom!");
$ java org.mozilla.javascript.tools.jsc.Main test.js
$ ls *.class
test.class
$ java test
hi, mom!
$ java org.mozilla.javascript.tools.jsc.Main -extends java.applet.Applet
    -implements java.lang.Runnable NervousText.js

ドキュメントのタグと貢献者

タグ: 
Contributors to this page: Mgjbot, kohei.yoshino
最終更新者: kohei.yoshino,