ミニミニシェル.
start(CmdMod) または start(CmdMod, InitArg) として起動する。 CmdMod はコマンドを実装しているコールバックモジュール名(アトム)、 InitArg はコールバックモジュールの初期化に使う引数である。 InitArg が省略されるとアトム none が初期化に使われる。
コールバック関数は:CmdMod:command/3の第1引数以外の引数型は任意である。
インタプリタ関数が {quit, LastState} を受け取ると、 CmdMod:command_fin(LastState) を呼び出してからシェルを終了する。exec_command/4* | コマンドの実行. |
finalize/2* | コマンドモジュールの後始末. |
fix_tokens/1* | Tokensの末尾にドットがないときは付け足す. |
init/2* | コマンドモジュールの初期化. |
interpret/3* | 入力行の解釈実行. |
make_cmd_tuple/1* | 入力行から、コマンドアトムと引数タームを作る. |
parse_term/1* | 文字列を解析してタームを作る. |
shell_loop/3* | シェルのループ. |
split_line/1* | 入力行をコマンドと引数に分割する. |
split_line/2* | split_line/1 の作業関数. |
start/1 | Equivalent to start(CmdMod, none). |
start/2 | シェルの開始. |
exec_command(Cmd::atom(), Arg::term(), CmdMod::atom(), State::term()) -> {ok, State::term()} | {quit, LastState::term()}
コマンドの実行
finalize(CmdMod::atom(), LastState::term()) -> ok
コマンドモジュールの後始末
fix_tokens(Tokens) -> Tokens
Tokensの末尾にドットがないときは付け足す. Tokensに関しては erl_scan を参照。
init(CmdMod::atom(), InitArg::term()) -> term()
コマンドモジュールの初期化
interpret(Line::string(), CmdMod::atom(), State::term()) -> {ok, Cmd, Arg} | {error, Msg}
入力行の解釈実行
make_cmd_tuple(Line::string()) -> {ok, Cmd::atom(), Arg::term()} | {error, Msg}
入力行から、コマンドアトムと引数タームを作る
parse_term(Str::string()) -> {ok, term()} | {error, Msg}
文字列を解析してタームを作る
shell_loop(CmdMod::atom(), State::term(), Prompt::string()) -> ok
シェルのループ
split_line(Line::string()) -> {string(), string()}
入力行をコマンドと引数に分割する
split_line(Looking::string(), Looked::string()) -> {string(), string()}
split_line/1 の作業関数
start(CmdMod::atom()) -> ok
Equivalent to start(CmdMod, none).
start(CmdMod::atom(), InitArg::term()) -> ok
シェルの開始
Generated by EDoc, Mar 29 2009, 17:27:02.