On-The-FlyコンパイラとASTインタプリタ

PnutsのOn-The-Fly(動的)コンパイラとは、スクリプトを実行する時にJavaのバイトコードをメモリ上に生成して読み込むことで、処理速度を速くするための仕組みです。pnutsコマンドは、デフォルトでOn-The-Flyコンパイラを使います。

一方、AST(Abstract Syntax Tree)インタプリタとは、スクリプトをコンパイルすることなく実行するしくみです。

pnutsコマンドのオプション

C:\> pnuts { -pure } { スクリプト }
C:\> pnuts
Pnuts version 1.0rc2 (04/16/2002), 1.3.1_02 (Sun Microsystems Inc.)
Java HotSpot(TM) Client VM (mixed mode)
> getContext().getImplementation()
pnuts.compiler.CompilerPnutsImpl@df503

ASTインタプリタでも、スクリプトを選択的にコンパイルすることができます。 "パフォーマンス向上のためのヒント" を参照。

C:\> pnuts { -O } { スクリプト }

On-The-Flyコンパイラを用いる場合、-Oオプションを指定すると、実行速度を優先します。この場合、エラーが起きたときの行番号は表示されません。