フリーの ECMAScript インタプリタ。
Java で記述された JavaScript インタプリタ。 |
対話式インタプリタ |
"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 を使います。したがって、パスが正しくなかったり ライブラリがなかったりすることによるエラーメッセージを見ることができません。 デバッグのために jrew を jre に置き換えてもかまいません。
例:
fesi preload.es -- postload.es -o result.lis上のコマンドは、preload.es と標準入力ファイルと postload.es を 処理し、結果を result.lis に書き込みます。Windows では指定した拡張子に わりあてることができます。
テストモード (オプション -T) は特別な FESI コマンドを 実装します。
@test コマンドから次の @test かファイル終端までのコードは すべて特別なテストモードで解釈されます。このモードでは、@test の 名前が表示されてからコードが実行されます。なにかエラーがおこると、メッセージが 表示され、解釈は次の @test に飛びます。エラーが検知されなかった場合は 最後のステートメントの結果が評価されます。それが true ならテストは 成功とみなされ、そうでなければエラーメッセージが表示されます。@test nameOfTest
バッチモードのオプションはすべて使えるので、対話モードに入る前に環境を 読み込んでおくことができます。
加えて、ユーザーは以下のコマンドを入力することができます。
@exit | インタプリタを終了する |
@reset | インタプリタをリセットして空の環境にする (読み込まれたファイルも すべてリセットします) |
@version | インタプリタのバージョンを表示する |
@detail | 最後の評価の詳細を返す |
@extensions | ロードされている拡張 (loadExtension(クラス名) で読み込めます) を 一覧表示する |
@load | プロパティ FESI.path や (このプロパティが指定されていなければ) クラスパスの ディレクトリや Jar/Zip ファイルからモジュールを読み込む (場合によって 拡張子 ".es"、".esw"、".js" が付加されます) |
@pwd | ユーザーのカレントディレクトリを表示する |
@expand | HTML ファイルの <script> と </script> の 間の行を展開して、標準出力に表示する |
@help | 使えるコマンドの簡単な一覧を表示する |
@about | FESI に関する情報を表示する |
@detail | 最後に行なった評価の結果を一覧表示する |
@list | オブジェクトの列挙されたプロパティ (デフォルトではグローバルプロパティ) を 一覧表示する |
@listall | オブジェクト (デフォルトではグローバルオブジェクト) のプロパティをすべて 一覧表示する |
@describe | オブジェクトの詳しい特性を、Java のリフレクションデータも含めて表示する |
@memory | メモリの総容量と残り容量を (Java ランタイムの報告した通りに) 表示する |
@clear | コンソールウィンドウをクリアする (インタプリタの内容はそのまま)。 コンソールに使われているテキストエリアコントロールの限界に達したときに 役に立ちます。 |
@path | カレントの読込用パスを表示する |
オプション -i と -w を両方与えると、対話ウィンドウが使われます。
その実装は非常に限られており、ネイティブのコンソールウィンドウが非常に貧弱な
オペレーティングシステムでのみ使うものです。