pnutscコマンドは、指定されたscript_fileまたはinput_jar_fileに含まれるスクリプトファイルをコンパイルします。
-o output_jar_file が指定された場合、コンパイルされたクラスファイルは output_jar_fileにの中に保存されます。output_jar_fileがすでにあれば、コンパイルされたクラスはそのJARファイルに追加されます。
-o が指定されない場合、コンパイルされたクラスファイルは -dの後のdirectory に保存されます。-d が指定されない場合は、カレントディレクトリに保存されます。
-v は冗長な表示を行うモードを意味します。生成されたクラス名やクラスファイル名が表示されます。
-no_proxy が指定された場合、生成されたコードは、pnuts.compiler パッケージに依存しないようになります。ただし、メソッド呼び出しが最適化されません。
-prefix name が設定される場合は、その値がクラス名のプレフィックス(接頭語)になります。
D:\pnuts> pnutsc -o pnuts-precompiled.jar pnuts/util/*.pnut pnuts/lib/*.pnut
-Cオプションが指定されると、カレントディレクトリがbase_directoryに変更されたのちにscript_filesがコンパイルされます。
-main オプションをつけると、main() メソッドとrun(Context)メソッドが定義されるmainClassが生成されます。
public class mainClass extends Runtime {
public Object run(Context ctx){
ctx.usePackage(module1);
ctx.usePackage(module2);
...
new className1().run((Context)ctx.clone());
new className2().run((Context)ctx.clone());
...
}
public static void main(String args[]){
Pnuts.set("$args", args);
new mainClass().run(new Context());
}
}
println("hello")
C:\> pnutsc -o hello.jar -main Hello -m pnuts.lib hello.pnut C:\> java -classpath "hello.jar;pnuts.jar;pnuts-modules.jar" Hello