|
フリーの ECMAScript インタプリタ。
Java で記述された JavaScript インタプリタ。 |
インストールの説明 |
動作確認は JDK 1.1.7B と JDK 1.2 で行ないました。 機能の中には他のバージョンでは動作しないものがあるかもしれません。 テスト済みの BDK の例 (ジャグラー) は、BDK の 97 年 11 月版のものです。
Swing を使った対話式インタプリタには Swing 1.1 (JDK 1.1 の場合) が 必要です。これは新しい名前の Swing パッケージを使っているためです。 機能が制限されますが AWT ベースの対話式インタプリタもあります。 Swing を使わない場合には FESI は Swing を必要としないので、 Swing のない環境でもインタプリタは使えます。
正規表現には ORO のライブラリを使用します。OROINC はなくなった ように見えることがあるため、必要なコンポーネントはパッケージに入れてあります。 その著作権については私の理解するところでは合法ですが、 その部分を再配布できるかどうかは各自で判断して下さい。 FESI はこのライブラリがなくても動作することに注意してください。 ない場合は正規表現の機能が使えなくなるのです。 そのコンポーネントは拡張として書かれており、ソースコードは公開されているので、 比較的簡単に別のライブラリを使った互換バージョンを書くことができます。 残念なことには、無償で入手できる正規表現の多くは質が低いものです。
例のいくつかは追加のライブラリ (Swing 1.1、
Sun Bean Development Kit、IBM XML parser など) を使用します。
これらのライブラリはその所有者が著作権を保持しているので、
直接に入手するひつようがあります。
FESI インタプリタ自体は標準ライブラリ (私の知る限りでは Pure Java)
以外には依存していません。
ただし、-s オプションを使った場合には Swing ライブラリを
使用します。
jar -xf fesikit.jarカレントディレクトリのサブディレクトリ fesi に ファイルがすべて展開されます。Windows 95 では、スクリプトがすぐに 使えるように C:\Program Files ディレクトリでこの操作を行なうことを お勧めします。
次に、fesiiw (AWT ウィンドウ版
インタプリタ) または fesiis (Swing ウィンドウ版インタプリタ) と入力して
インタプリタを実行します。シンプルな開発環境を備えていることから Swing 版を
お勧めします。
ヘルプファイルの位置はプロパティ FESI.help で定義します。
拡張子 es (場合によっては、
js も) を bin/fesi コマンドに関連付けることができます。
拡張子 esw は bin/fesiw または bin/fesis コマンドに
関連付けることができます (fesiw/fesis はコンソール出力を行なわず、
エラーメッセージの表示には AWT や Swing のウィンドウを使います)。
あるいは、拡張子 es と esw をバッチファイル fesiis に
関連付けることもできます。すると、ファイルをダブルクリックすれば
エディタが起動してそのファイルを開きます。
FESIIW、FESIIS、FESIW、FESIS の
プロパティを変更すると、終了時にウィンドウを閉じたり最小化状態で実行することも
できます。
注意 - バッチファイルでは (java コマンド でなく) jre コマンドを使っているため、CLASSPATH 環境変数は 無視されます。CLASSPATH の設定を使う場合は、 jre コマンドの -cp オプションに CLASSPATH を加えるか、 java コマンドを使用して下さい。
開発時には、fesi.jar とその他の使用している ライブラリを classpath に入れる必要があります。
Kawa をお使いの場合は、 help タブに doc\html\api\packages.html を追加します。
fesi/examples には、 いくつかの例が入っています。
fesi/examples/FesiFTP には、 大き目の AWT の例が入っています。
fesi/src ディレクトリには、 文法のソースだけが入っています。パーザのみ利用可能です。 ファイル EcmaScript.jjt の コメントを参照して下さい。
fesi/tests/validation ディレクトリにはテストファイルが入っています。 これはコマンド bin/validate で実行できます。