フリーの ECMAScript インタプリタ。 
Java で記述された JavaScript インタプリタ。
 
 
言語拡張
FESI の実装は、言語拡張をほとんど実装せずできるだけ標準に 沿うようにしています。 これは、残念ながらほとんど互いに互換性のない他の多くの JavaScript の実装とは 異なる点です。 とはいえ、少しでも便利にするには、最低でも他のホストアプリケーションにリンクする ように ECMAScirpt を拡張しなければなりません。多くのアプリケーションには共通の 必要性があるので、FESI の拡張はライブラリとして作成して必要に応じて Java の 動的読込機能で読み込むことができます。多くの場合、ホストプログラムは 初期化の一部として必要な拡張を列挙します (FESI の Java ライブラリ を参照)。拡張は ECMAScript 標準で規定されているようにホストオブジェクトや関数を 追加することのみが可能で、既存の関数を変更したり文法を拡張したりすることは できません。
 

ビルトイン拡張

ビルトイン拡張は、インタプリタ上に常に組み込まれている機能です。 以下の機能が含まれます。

tryEval(文字列[, デフォルト値])
tryEvaleval と同様に引数を評価しますが、value および error という 2 つのプロパティをもったオブジェクトを返します。 評価が成功した場合、value プロパティは評価の結果を含み、 errornull (false としてテストできます) になります。 評価によってエラーが起きた場合は、value プロパティは引数 「デフォルト値」の値 (指定した場合) または undefined になり、 error プロパティはエラーを説明するオブジェクト (true として 検査できることが保証されます) をもちます。error のオブジェクトの文字列表現は エラーの説明になります。将来にはより詳しいエラー情報が利用できるようになるかも しれません。

 
throwError([文字列または例外])
throwError は例外をスローします。引数が Throwable であれば 文字列に変換して例外の引数に追加されます。

読込可能な拡張

対話式インタプリタでは以下の拡張がすべてデフォルトで読み込まれます。しかし、 インタプリタを埋め込みの言語エンジンとして使っているユーザープログラムでは 読み込まれるかどうかは呼出側によります。


BasicIO、BasicIOw、BasicIOs

ブラウザをホストとしたインタプリタとスクリプトを共有できるように、 基本的な document および window ベースの入出力を提供します。
BasicIO、BasicIOw、BasicIOs ドキュメンテーション

JavaAccess

ECMAScript から Java オブジェクトを生成したり Java の public なクラスや関数に アクセスできるようにします。
JavaAccess ドキュメンテーション

FileIO

テキストファイルの入出力やディレクトリ操作機能を ECMAScript プログラムに 提供します。
FileIO ドキュメンテーション


Database

シンプルなデータベースアクセス機能 (JDBC 経由) を ECMAScript プログラムに 提供します。
データベースアクセス ドキュメンテーション


RegExp

正規表現による検索と置換を、ORO パッケージに基づいて提供します。
正規表現 ドキュメンテーション


メインページに戻る

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