フリーの ECMAScript インタプリタ。 
Java で記述された JavaScript インタプリタ。
 
 
対話式インタプリタ 

インタプリタを呼び出す

インタプリタはバッチモードや対話モードでも実行できます。 FESI をインストールした場所のサブディレクトリ bin には バッチファイルのセットが提供されています。 このバッチファイルはクラスパスが合うように編集しなければなりません。 例を挙げます。
 
jre -DFESI.path=.;fesilib.jar -cp c:\program files\FESI\fesi.jar FESI.Interpreter.Interpret -f %1

"js" や "es"、"esw" という 拡張子のソースファイルが認識されます。 "js" はしばしば Netscape や Internet Explorer が使っているので、 "es" と "esw" を FESI に関連付けられるように なっています。
プロパティ FESI.path には、 コマンドラインからの指定や load 関数 (BasicIO) や @load コマンドによって コードを読み込む際にそのコードを探すパスを並べます。 指定しない場合はかわりに java の CLASSPATH が使用されます。 バージョン 0.9 (9) より前と同じ動作にするには、"-DFESI.path=." とし、 コマンドライン上でファイル名の前にオプション -f をつけます。

編集環境には FESIIS を使って下さい (バッチファイルのアイコン上に ファイルをドロップしたり、バッチファイルに拡張子を関連付けることができます)。 このバッチファイルのプロパティは、終了時に自動的にウィンドウを閉じるように したり、最小化状態で実行してもかまいません。 ウィンドウ環境で使うバッチファイル (FESIW, FESIS, FESIIW, FESIIS) は、 jrew を使います。したがって、パスが正しくなかったり ライブラリがなかったりすることによるエラーメッセージを見ることができません。 デバッグのために jrewjre に置き換えてもかまいません。

バッチモード

バッチモード (デフォルトです) の場合、インタプリタはコマンドライン上で指定された ファイルを読み込んで実行し、結果を標準出力ストリームに出力します (エラーは 標準エラー出力に送られます)。コマンドライン上でファイルが指定されていない場合は 標準入力を読み取ります。標準入力は "--" (ダッシュ 2 つ) として コマンドライン上で指定することもできます。どちらでもバッチモードで 標準入力が読み込まれます (EOF がくるまで読み取ってから解釈します)。 エラーが起こると評価は終了します。
  オプションの文字 'f'、'o'、'h'、'T'、'A' はオプション文字列の最後でなければ なりません (-wo はいいですが、-ow はだめです)。これはこれらの文字が引数の すぐ前でなければならないためです。

例:

fesi preload.es -- postload.es -o result.lis
上のコマンドは、preload.es と標準入力ファイルと postload.es を 処理し、結果を result.lis に書き込みます。Windows では指定した拡張子に わりあてることができます。

テストモード (オプション -T) は特別な FESI コマンドを 実装します。

@test nameOfTest
@test コマンドから次の @test かファイル終端までのコードは すべて特別なテストモードで解釈されます。このモードでは、@test の 名前が表示されてからコードが実行されます。なにかエラーがおこると、メッセージが 表示され、解釈は次の @test に飛びます。エラーが検知されなかった場合は 最後のステートメントの結果が評価されます。それが true ならテストは 成功とみなされ、そうでなければエラーメッセージが表示されます。

対話モード

対話モード (オプション -i) では最初に -f-m で指定された ファイルが実行されます。次にコマンドラインで指定されたファイルが エディタに読み込まれます (Swing 版のみ)。最後にシステムは 読込-評価-表示 という対話の繰り返しに入ります。それぞれのステートメントは入力するとすぐに 評価され、エラーがおきても終了しません。ステートメントが不堪センナ場合は インタプリタは続きのデータを要求します (";" と打てばステートメントを終わらせる ことができます)。

バッチモードのオプションはすべて使えるので、対話モードに入る前に環境を 読み込んでおくことができます。

加えて、ユーザーは以下のコマンドを入力することができます。

残る 2 つのコマンドはインタプリタのデバッグや Java システムへのアクセスに 使われるもので、@help コマンドで表示されます。コマンドはあいまいで ない程度に初めの部分だけに省略することができます。
対話モードは短いコマンドをテストしたりファイルを読み込んでその定義を テストするのに便利です。

オプション -i と -w を両方与えると、対話ウィンドウが使われます。 その実装は非常に限られており、ネイティブのコンソールウィンドウが非常に貧弱な オペレーティングシステムでのみ使うものです。
 


メインページに戻る

最終更新日 (原文): 1998 年 9 月 10 日
(翻訳): 1999 年 4 月 1 日