[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Gaucheを起動する

Gaucheは独立したSchemeインタプリタとしても、組み込みのSchemeライブラリとしても 使うことができます。Gaucheのディストリビューションには、goshという インタプリタが附属しています。

Program: gosh [options] [scheme-file arg …]

Gaucheのインタプリタです。 scheme-fileが与えられなければ、 goshはインタラクティブに動作します。すなわち、標準入力からScheme式を読み込み、 それを評価して結果をプリントするという動作を、EOFを読むか明示的に終了させられるまで 続けます。

もしscheme-fileが与えられておらず、しかし入力が端末でない場合、 goshはread-eval-printループに入りますが、入力待ちの際にプロンプトを 表示しません。これはScheme式をパイプでgoshに処理させる場合に便利です。 -bまたは-iオプションでこの動作を強制的にonまたはoffできます。

scheme-fileが与えられた場合、goshはそれをSchemeプログラムとして ロードし、終了します。この動作に関してはSchemeスクリプトを書くを参照して 下さい。

コマンドラインオプション

goshには以下のようなコマンドラインオプションがあります。 `-' で始まらない最初のコマンドライン引数がスクリプトファイルと認識されます。 スクリプトファイル名が `-' で始まっている可能性がある場合は、ダミーオプション `--' をスクリプトファイル名の前に置いて下さい。

Command Option: -I path

pathをロードパスのリストの最初に加えます。このオプションは複数指定できます。

Command Option: -A path

pathをロードパスのリストの末尾に加えます。このオプションは複数指定できます。

Command Option: -q

goshが起動時にシステムの初期化ファイルをロードしないようにします。

Command Option: -V

goshのバージョンを表示して終了します。

Command Option: -u module

起動後、インタラクティブなread-eval-printループに入る前、もしくはscheme-file をロードする前にmoduleを“use”します。つまりそのモジュールがロードされ インポートされます。(useの詳細についてはモジュールの定義と選択を参照して下さい。) このオプションは複数指定できます。

Command Option: -l file

起動後、インタラクティブなread-eval-printループに入る前、もしくはscheme-file をロードする前にfileをロードします。ロードの詳細についてはSchemeファイルのロード を参照して下さい。このオプションは複数指定できます。

Command Option: -e scheme-expression

起動後、インタラクティブなread-eval-printループに入る前、もしくはscheme-file をロードする前にscheme-expressionを評価します。評価は interaction-environment中で行われます(eval と repl参照)。 このオプションは複数指定できます。

Command Option: -E scheme-expression

オプション-eとほぼ同じですが、scheme-expressionは それが括弧で囲まれているかのように読まれます。 このオプションは複数指定できます。例:

 
% gosh -umath.const -E"print (sin (* pi/180 15))" -Eexit
0.25881904510252074
Command Option: -b

バッチ。入力が端末であってもプロンプトを出さないようにします。

Command Option: -i

インタラクティブ。入力が端末で無くてもプロンプトを出すようにします。

Command Option: -f compiler-option

このオプションはコンパイラとランタイムの動作に影響を与えます。 今のところ、次のオプションのみがcompiler-optionとして有効です。

no-inline

一切のインライン展開を行いません。このオプションは以下の no-inline-globals no-inline-locals および no-inline-constants を同時に指定したのと等価です。

no-inline-globals

大域(global)関数のインライン展開を展開を行ないません。

no-inline-locals

局所(local)関数のインライン展開を展開を行ないません。

no-inline-constants

定数のインライン展開を行ないません。

no-source-info

デバッグのためのソースファイル情報を保持しません。メモリの使用量は小さくなります。

load-verbose

ファイルがロードされる時にそれを報告します。

case-fold

R5RSに示される通り、シンボルの大文字小文字を区別しません。 (デフォルトではこれらは区別されます)。 大文字小文字の区別 を参照して下さい。

test

"../src" と "../lib" を、初期化ファイルを読む前に ロードパスに加えます。これは、作成されたgoshをインストールせずに ソースツリーの中で実行してみるのに便利です。

Command Option: -p profiler-option

プロファイラを有効にします。以下のようなprofiler-optionが 今のところサポートされています。

time

関数中で費された時間と、各関数が呼ばれた回数を記録して報告します。

load

各モジュールをロードするのにかかった時間を記録して報告します。 スクリプトの起動時間をチューンするのに便利です (実経過時間が報告されます)。

詳しくはプロファイラを使うを参照して下さい。

Command Option: --

このオプションに出会うと、goshはオプションの解析を止めて、その次の引数を 無条件にscheme-fileであると見倣します。scheme-fileがマイナス記号で 始まっている場合に必要です。

オプション-I, -A, -l, -u, -e 及び -E は、それらがコマンドライン引数として 出現した順に処理されます。例えば、-Iにより追加されるロードパスは それ以降の-lや-uオプションに影響を与えますが、それ以前のものには影響を 与えません。

環境変数

以下の環境変数を認識します。

Environment variable: GAUCHE_LOAD_PATH

この環境変数によって、追加するロードパスを指定できます。 パスは ':' で区切ります。 この変数によって指定されたパスはシステムのデフォルトのロードパスの前に 連結されます。

Environment variable: GAUCHE_DYNLOAD_PATH

この変数によって、動的にロードするオブジェクト用の追加ロードパスを 指定できます。パスは ':' で区切ります。 この変数によって指定されたパスはシステムのデフォルトのロードパスの前に 連結されます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Shiro Kawai on November, 22 2009 using texi2html 1.78.