aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man8/loader.8
blob: 4c7a7211bf61284673721e6d99096c64c6e6c07a (plain) (tree)























                                                                              
                                                                                  



                                                                
                                                                                         




                  
                                      


                        

                                                
                                      
       


                                      






















































































                                                                          
                           




















                                                                        




                              














































































































































                                                                               
                        



































                                                                            
                        




                                                                


                                                                            
                                                              
      

                                        
         






                                                                       
                       









                                                                        
                    

















                                                                            
                  

































                                                                          

                               































































                                                                            
     
      
       









































                                                                              
   







                                                             
                             
























                             
                        

                                                                


                                                


                                                




                                                    








                                                          












                                                      




                                                                  








                                            

                              

                               

                                                        



                                  

                                      
                  

















                            
                                                   









                                                    






                                 

















                                                                          
                           




                                                          
                           















































































                                                                   
     
                        

         
          










                                         
            

   
                                       
                
   



                                           
        




                                                            
.\" Copyright (c) 1999 Daniel C. Sobral
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.18.2.8 2001/08/16 10:34:30 ru Exp %
.\"
.\" Note: The date here should be updated whenever a non-trivial
.\" change is made to the manual page.
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/loader.8,v 1.14 2001/07/29 05:15:28 horikawa Exp $
.Dd March 14, 1999
.Dt LOADER 8
.Os
.Sh 名称
.Nm loader
.Nd カーネルブートストラップの最終段階
.Sh 解説
.Nm
と呼ばれるプログラムは、
.Fx
のカーネルブートストラップにおける、最終段です。
IA32 (i386) アーキテクチャでは、これは
.Pa BTX
クライアントです。
.Xr libstand 3
に静的にリンクされ、通常はディレクトリ
.Pa /boot
に置かれます。
.Pp
また、作業自動化、事前設定、回復処理の補助に使用可能な、
スクリプト言語を提供します。
このスクリプト言語はおおまかに 2 つの主たる部分に分類されます。
小さな方は、通常のユーザが直接使用するようデザインされたコマンドの集合で、
歴史的な事情により「組み込みコマンド」と呼ばれます。
これらのコマンドを提供した背景には、
主としてユーザの使い勝手を改善する目的があります。
大きな部品は
.Tn ANS
Forth 互換の Forth インタプリタであり、
.An John Sadler
の ficl をベースにしています。
.Pp
初期化において、
.Nm
はコンソールを検出して
.Va console
変数を設定します。
直前のブートステージにシリアルコンソールを使用した場合には、
この変数をシリアルコンソール
.Pq Dq comconsole
に設定します。
その後、デバイスをプローブし、
.Va currdev
と
.Va loaddev
を設定し、
.Va LINES
を 24 に設定します。
次に
.Tn FICL
が初期化され、組み込み語が語彙に追加され、存在する場合には
.Pa /boot/boot.4th
が処理されます。
このファイルが読み込まれるまで、ディスクの交換はできません。
.Nm
が
.Tn FICL
とともに使用する内部インタプリタは
.Ic interpret
に設定されます。これは
.Tn FICL
のデフォルトです。
この後、使用可能な場合
.Pa /boot/loader.rc
が処理され、そうでない場合には歴史的な理由で
.Pa /boot/boot.conf
が読み込まれます。
これらのファイルは
.Ic include
コマンドを介して処理されます。
このコマンドは、
処理前にファイル内容すべてをメモリに読み込みますので、
ディスク交換が可能となります。
.Pp
この時点で、
.Ic autoboot
が試されていない場合でかつ
.Va autoboot_delay
が
.Dq NO
(大文字小文字は区別しません) に設定されていない場合、
.Ic autoboot
が試されます。
システムがこの時点まで到達した場合、
.Va prompt
が設定され、
.Nm
は対話モードになります。
.Sh 組み込みコマンド
.Nm
の組み込みコマンドは、パラメータをコマンドラインから受け取ります。
現在、スクリプトからの呼び出し方法は、文字列上で
.Pa evaluate
を使用することだけです。
エラー状態が発生すると、
.Tn ANS
Forth 例外操作語でインタセプト可能な例外が生成されます。
インタセプトされない場合、エラーメッセージが表示され、
インタプリタの状態がリセットされます。
これにより、スタックが空になりインタプリタのモードが元に戻ります。
.Pp
使用可能な組み込みコマンドは次の通りです:
.Pp
.Bl -tag -width Ds -compact
.It Ic autoboot Op Ar seconds
ユーザが割り込まない場合には、
指定した秒数の後にシステムのブートストラップへ進みます。
キーが押されて割り込まれるまで、
カウントダウンプロンプトを表示し、
ユーザに対してシステムがブートするところであることを警告します。
必要であれば、最初にカーネルがロードされます。
デフォルトは 10 秒です。
.Pp
.It Ic bcachestat
ディスクキャッシュの使用状況を表示します。
デバッグのためだけにあります。
.Pp
.It Ic boot
.It Ic boot Ar kernelname Op Cm ...
.It Ic boot Fl flag Cm ...
システムのブートストラップへすぐに進み、
必要であればカーネルをロードします。
すべてのフラグまたは引数はカーネルに渡されますが、
カーネル名が指定された場合、これらはカーネル名の後にある必要があります。
.Pp
.Em 警告 :
この組み込みコマンドの動作は、
.Xr loader.4th 8
がロードされると、変ります
.Pp
.It Ic echo Xo
.Op Fl n
.Op Aq message
.Xc
画面にテキストを表示します。
.Fl n
を指定しない場合、改行が表示されます。
.Pp
.It Ic heap
メモリ使用状況が表示されます。デバッグ目的のためだけにあります。
.Pp
.It Ic help Op topic Op subtopic
ヘルプメッセージを
.Pa /boot/loader.help
から読み込んで表示します。
特殊トピック
.Em index
は、使用可能なトピックを表示します。
.Pp
.It Ic include Ar file Op Ar
スクリプトファイルを処理します。
各ファイルは、順番がまわって来たところで完全にメモリに読み込まれ、
各行がコマンドラインインタプリタに渡されます。
インタプリタがエラーを返すと、
他のファイルは読み込まずに include コマンドは即時に異常終了し、
自身にエラーを返します (
.Sx エラー
参照)。
.Pp
.It Ic load Xo
.Op Fl t Ar type
.Ar file Cm ...
.Xc
カーネル、カーネルローダブルモジュール (kld)、内容を問わず
.Ar type
とタグ付けされているファイルのいずれかをロードします。
カーネルとモジュールは、a.out または elf のどちらの形式であってもかまいません。
ロードされるファイルの後で渡される引数は、
そのファイルに対する引数として渡されます。
現在のところ、これはカーネルに対しては動作しないことに注意してください。
.Pp
.It Ic ls Xo
.Op Fl l
.Op Ar path
.Xc
ディレクトリ
.Ar path
、または
.Ar path
を指定しなかった場合にはルートディレクトリのファイル一覧を表示します。
.Fl l
を指定すると、ファイルの大きさも表示します。
.Pp
.It Ic lsdev Op Fl v
モジュールのロード元となりうるデバイスをすべて表示します。
.Fl v
を指定すると、更なる詳細を表示します。
.Pp
.It Ic lsmod Op Fl v
ロード済のモジュールを表示します。
.Fl v
を指定すると、更なる詳細を表示します。
.Pp
.It Ic more Ar file Op Ar
.Va LINES
行を表示するごとに停止しながら、指定したファイルを表示します。
.Pp
.It Ic pnpscan Op Fl v
プラグアンドプレイデバイスをスキャンします。
現在のところ動作しません。
.Pp
.It Ic read Xo
.Op Fl t Ar seconds
.Op Fl p Ar prompt
.Op Va variable
.Xc
入力行を端末から読み込み、
.Va variable
が指定された場合にはこれに読み込み結果を格納します。
タイムアウトは
.Fl t
で指定可能ですが、これは最初に押されるキーにより打ち消されます。
プロンプトもまた
.Fl p
フラグにより表示可能です。
.Pp
.It Ic reboot
即時にシステムをリブートします。
.Pp
.It Ic set Ar variable
.It Ic set Ar variable Ns = Ns Ar value
ローダの環境変数を設定します。
.Pp
.It Ic show Op Va variable
指定した変数の値を表示します。
.Va variable
を指定しないと、すべての変数とその値を表示します。
.Pp
.It Ic unload
全モジュールをメモリから取り除きます。
.Pp
.It Ic unset Va variable
.Va variable
を環境から取り除きます。
.Pp
.It Ic \&?
.Dq help index
と同じです。
.Pp
.El
.Ss 組み込みの環境変数
.Nm
は実際のところ、異なった 2 種類の
.Sq 環境
変数を持ちます。
それは、ANS Forth の
.Em 環境問い合わせ
と、別の空間であり組み込みコマンドが使用する環境変数です。
後者は Forth の語としては直接使用できません。
この節で説明するのは、後者です。
.Pp
環境変数の設定および設定解除は、
.Ic set
と
.Ic unset
の組み込みコマンドを介して行います。これらの値は、
.Ic show
組み込みコマンドを使用して対話的に検査できます。
これらの値は、
.Sx 組み込みパーザ
で説明する方法でもまたアクセス可能です。
.Pp
この環境変数は、システムブート後にシェルに継承されないことに注意してください。
.Pp
数個の変数が
.Nm
により自動的に設定されます。
他の変数は、
.Nm
またはブート時のカーネル動作に影響し得ます。
これらのうち値を要求するものがある一方、
設定されるだけで動作を定義するものもあります。
これらを以下に示します。
.Bl -tag -width bootfile
.It Va autoboot_delay
.Ic autoboot
がブート前に待つ秒数です。この変数が定義されていない場合、
.Ic autoboot
はデフォルトの 10 秒になります。
.Pp
.Dq NO
に設定すると、
.Pa /boot/loader.rc
の処理の後に
.Ic autoboot
を自動的には試みなくなります。
しかし、明示的に
.Ic autoboot
を指定すると、デフォルトの 10 秒の遅延の後に通常通り処理されます。
.It Va boot_askname
カーネルブート時にルートデバイス名をユーザに尋ねるように、
カーネルに指示します。
.It Va boot_ddb
ブート時に初期化に進むのではなく DDB デバッガを開始するように、
カーネルに指示します。
.It Va boot_gdb
gdb リモートモードを、カーネルデバッガのデフォルトとして選択します。
.It Va boot_single
カーネルがマルチユーザスタートアップを開始することを防ぎ、
カーネルがデバイスプローブを完了したときにはシングルユーザモードになります。
.It Va boot_userconfig
カーネルブート時に
カーネルの対話的なデバイス設定プログラムを実行するよう要求します。
.It Va boot_verbose
この変数を設定すると、
ブートフェーズ中に追加のデバッグ情報をカーネルが表示します。
.It Va bootfile
セミコロンで区切った検索パスのリストであり、
ここからブート可能なカーネルを探します。
デフォルトは
.Dq Dq kernel;kernel.old
です。
.It Va console
現在のコンソールを定義します。
.It Va currdev
デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。
.It Va init_path
カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。
デフォルトは
.Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall
です。
.It Va interpret
Forth の現在の状態がインタプリタの場合、
.Dq Li ok
という値を持ちます。
.It Va LINES
画面上の行数を定義します。ページャが使用します。
.It Va module_path
モジュールを検索するディレクトリのリストを設定します。
モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。
この変数のデフォルト値は
.Dq Li /;/boot;/modules
です。
.It Va num_ide_disks
IDE ディスクの数を設定します。
これは、ブート時にルートディスクを見つけることに関する問題への対処です。
.Va root_disk_unit
により価値が低下しています。
.It Va prompt
.Nm
のプロンプトの値です。
デフォルトは
.Dq Li "${currdev}>"
です。
.It Va root_disk_unit
ルートディスクのディスクユニット番号を検出するコードが混乱する場合、
この変数を設定することでユニット番号を強制可能です。
混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、
IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。
.It Va rootdev
デフォルトでは、カーネルブート時にルートファイルシステムの設定には
.Va currdev
が使用されます。
これは
.Va rootdev
を明示的に設定することによりオーバライド可能です。
.El
.Pp
他の変数を使用することにより、
カーネルの調整可能なパラメータをオーバライド可能です。
次の調整可能な変数が使用可能です:
.Bl -tag -width Va
.It Va kern.ipc.nmbclusters
割り当てられる mbuf クラスタ数を設定します。
カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。
.Va NMBCLUSTERS
を変更します。
.It Va kern.vm.kmem.size
カーネルメモリの大きさ (バイト) を設定します。
カーネルコンパイル時に決定された値に、完全に優先します。
.Va VM_KMEM_SIZE
を変更します。
.It Va machdep.pccard.pcic_irq
通常時に PCCARD コントローラに割り当てられる IRQ をオーバライドします。
典型的には、最初に利用可能な割り込みが割り当てられてしまい、
他のハードウェアと衝突してしまうかもしれません。
この値を 0 に設定すると、割り込みは割り当てられず、
コントローラはポーリングモードのみで動作します。
.It Va net.inet.tcp.tcbhashsize
.Va TCBHASHSIZE
のコンパイル時の設定値をオーバライドするか、
デフォルトの 512 にプリセットします。
2 のべき乗である必要があります。
.El
.Ss 組み込みパーザ
組み込みコマンドが実行されるとき、
行の残りはコマンドが引数として受け取り、
通常の Forth コマンドには使用されない特別なパーザがコマンドを処理します。
.Pp
この特別なパーザは、解析したテキストに対して次のルールを適用します:
.Pp
.Bl -enum
.It
すべてのバックスラッシュ文字は前処理されます。
.Bl -bullet
.It
\eb , \ef , \er , \en, \et は C
で扱われるように処理されます。
.It
\es は空白文字に変換されます。
.It
\ev は
.Tn ASCII
の 11 に変換されます。
.It
\ez は単にスキップされます。
.Dq \e0xf\ez\e0xf
のように使用すると便利です。
.It
\e0xN と \e0xNN は 16 進数の N と NN に変換されます。
.It
\eNNN は 8 進数 NNN の
.Tn ASCII
文字に変換されます。
.It
\e" , \e' , \e$ は、これらの文字をエスケープし、
後述するステップ 2 における特殊な意味を与えられないようにします。
.It
\e\e は単一の \e に変換されます。
.It
他の場合、バックスラッシュは単に取り除かれます。
.El
.It
エスケープされていないクォートまたはダブルクォートの間のすべての文字列は、
後続するステップにおいて単一の語として扱われます。
.It
.Li $VARIABLE
または
.Li ${VARIABLE}
は、環境変数
.Va VARIABLE
の値に変換されます。
.It
空白で区切られた複数の引数を、呼び出した組み込みコマンドへ渡します。
空白は \e\e を使用することによりエスケープ可能です。
.El
.Pp
解析ルールには例外があり、これは
.Sx 組み込み語と FORTH
で説明します。
.Ss 組み込み語と FORTH
すべての組み込み語は、状態を意識する即時実行語です。
インタプリトされると、これらは前述の通りに振舞います。
一方コンパイルされると、
引数をコマンドラインからではなくスタックから取り出します。
.Pp
コンパイルされると、
実行時に組み込み語は、スタック上で次のパラメータを見付けられると期待します:
.D1 Ar addrN lenN ... addr2 len2 addr1 len1 N
ここで
.Ar addrX lenX
は文字列であり、組み込み語の引数として解釈されるコマンドラインを構成します。
内部的には、おのおのの間に空白を狭んで、
これらの文字列は 1 から N まで結合されます。
.Pp
引数が渡されない場合、組み込み語が引数を受け付けない場合であっても、
単一の 0 を渡す
.Em 必要
があります。
.Pp
この動作には利点がありますが、それ自身にはトレードオフがあります。
組み込み語の実行トークンが (
.Ic '
または
.Ic [']
を通して) 得られて、
.Ic catch
または
.Ic execute
に渡された場合、組み込み語の動作は
.Bf Em
.Ic catch
または
.Ic execute
が実行されるときの
.Ef
システムの状態に依存します !
これは、
例外を扱いたいまたは扱う必要があるプログラムにとっては、特に悩ましいものです。
この場合、代理 (proxy) を使用することをお勧めします。
例えば次のようにします:
.Dl : (boot) boot ;
.Sh FICL
.Tn FICL
は C で記述された Forth インタプリタであり、
C の関数などとして呼び出し可能な forth 仮想マシンライブラリの形式です。
.Pp
.Nm
では、対話的に読み込まれた各行は
.Tn FICL
に与えられます。
.Tn FICL
は、組み込み語を実行するために
.Nm
を呼び戻します。
組み込みの
.Ic include
もまた、1 度に 1 行ずつを
.Tn FICL
へ与えます。
.Pp
.Tn FICL
へ使用可能な語は 4 グループへ分類可能です。それは、
.Tn ANS
Forth 標準語、追加の
.Tn FICL
語、追加の
.Fx
語、そして組み込みコマンドです。
最後のものは既に説明しました。
.Tn ANS
Forth 標準語は、
.Sx 規格
の節に列挙しています。
別の 2 グループの語については、以降の小節において説明します。
.Ss FICL 追加語
.Bl -tag -width wid-set-super
.It Ic .env
.It Ic .ver
.It Ic -roll
.It Ic 2constant
.It Ic >name
.It Ic body>
.It Ic compare
This is the STRING word set's
.Ic compare .
.It Ic compile-only
.It Ic endif
.It Ic forget-wid
.It Ic parse-word
.It Ic sliteral
This is the STRING word set's
.Ic sliteral .
.It Ic wid-set-super
.It Ic w@
.It Ic w!
.It Ic x.
.It Ic empty
.It Ic cell-
.It Ic -rot
.El
.Ss FREEBSD 追加語
.Bl -tag -width XXXXXXXX
.It Ic \&$ Pq --
最初に入力バッファを表示した後、入力バッファの残りを評価します。
.It Ic \&% Pq --
.Ic catch
例外ガード下の、入力バッファの残りを評価します。
.It Ic .#
.Ic .
と同様に動作しますが、後続の空白を表示しません。
.It Ic fopen Pq Ar addr len -- fd
ファイルをオープンします。ファイル記述子を返します。
失敗時には -1 を返します。
.It Ic fclose Pq Ar fd --
ファイルをクローズします。
.It Ic fkey Pq Ar fd -- char
ファイルから 1 文字読み込みます。
.It Ic fload Pq Ar fd --
ファイル
.Em fd
を処理します。
.It Ic fopen Pq Ar addr len -- fd
ファイルをオープンします。
ファイルディスクリプタを返すか、失敗時には -1 を返します。
.It Xo
.Ic fread
.Pq Ar fd addr len -- len'
.Xc
ファイル
.Em fd
から
.Em len
バイトを、バッファ
.Em addr
へ読み込もうとします。
実際に読み込んだバイト数を返します。
エラー時またはファイルの終了の場合には -1 を返します。
.It Ic heap
ディレクトリヒープ中に残された空間を、セル数の単位で返します。
これは、動的なメモリ割り当ての意味で使われるヒープとは無関係です。
.It Ic inb Pq Ar port -- char
ポートからバイトを読み込みます。
.It Ic key Pq -- Ar char
コンソールから 1 文字読み込みます。
.It Ic key? Pq -- Ar flag
コンソールから読み込み可能な文字がある場合、
.Ic 真
を返します。
.It Ic ms Pq Ar u --
.Em u
マイクロ秒待ちます。
.It Ic outb Pq Ar port char --
ポートへバイトを書き込みます。
.It Ic seconds Pq -- Ar u
深夜 0 時からの秒数を返します。
.It Ic tib> Pq -- Ar addr len
入力バッファの残りを、スタック上の文字列として返します。
.It Ic trace! Pq Ar flag --
トレースを有効または無効にします。
.Ic catch
とともには動作しません。
.El
.Ss FREEBSD で定義される環境問い合わせ
.Bl -tag -width Ds
.It arch-i386
アーキテクチャが IA32 の場合
.Ic 真
です。
.It arch-alpha
アーキテクチャが AXP の場合
.Ic 真
です。
.It FreeBSD_version
コンパイル時の
.Fx
バージョンです。
.It loader_version
.Nm
のバージョンです。
.El
.Ss システム文書
.Sh 関連ファイル
.Bl -tag -width /boot/defaults/loader.conf -compact
.It Pa /boot/loader
.Nm
自身。
.It Pa /boot/boot.4th
追加の
.Tn FICL
の初期化。
.It Pa /boot/boot.conf
.Nm
のブートストラップスクリプト。価値が低下しています。
.It Pa /boot/defaults/loader.conf
.It Pa /boot/loader.conf
.It Pa /boot/loader.conf.local
.Nm
設定ファイル。
.Xr loader.conf 5
で解説されています。
.It Pa /boot/loader.rc
.Nm
のブートストラップスクリプト。
.It Pa /boot/loader.help
.Ic help
がロードします。
ヘルプメッセージを含みます。
.El
.Sh 使用例
シングルユーザモードでブートします:
.Pp
.Dl boot -s
.Pp
カーネルのユーザ設定ファイルをロードします。
他の
.Ic load
コマンドを試みる前にカーネルをロードする必要があることに注意してください。
.Pp
.Bd -literal -offset indent
load kernel
load -t userconfig_script /boot/kernel.conf
.Ed
.Pp
カーネルと起動画面をロードし、5 秒以内に自動ブートします。
.Bd -literal -offset indent
load kernel
load splash_bmp
load -t splash_image_data /boot/chuckrulez.bmp
autoboot 5
.Ed
.Pp
ルートデバイスのディスクユニットを 2 に設定し、ブートします。
IDE ディスクが 2 台のシステムで、
2 台目の IDE が wd1 ではなく wd2 に固定されているシステムにおいて、
必要となるでしょう。
.Pp
.Bd -literal -offset indent -compact
set root_disk_unit=2
boot /kernel
.Ed
.Pp
次を参照してください:
.Bl -tag -width /usr/share/examples/bootforth/X
.It Pa /boot/loader.4th
追加の組み込み的な語について。
.It Pa /boot/support.4th
.Pa loader.conf
が処理する語について。
.It Pa /usr/share/examples/bootforth/
分類された使用例。
.El
.Sh エラー
次の値を
.Nm
は返します:
.Bl -tag -width XXXXX -offset indent
.It 100
組み込みコマンド処理において任意のタイプのエラーが発生しました。
.It -1
.Ic Abort
が実行されました。
.It -2
.Ic Abort"
が実行されました。
.It -56
.Ic Quit
が実行されました。
.It -256
インタプリトするテキストがありません。
.It -257
成功するためには更なるテキストが必要です -- 次の実行で終了します。
.It -258
.Ic Bye
が実行されました。
.It -259
未定義エラー。
.El
.Sh 関連項目
.Xr libstand 3 ,
.Xr loader.conf 5 ,
.Xr boot 8 ,
.Xr btxld 8
.Sh 規格
ANS Forth 互換性の観点では、loader は
.Bf Em
環境に制限がある ANS Forth System です。
Core Extensions 語集合からは、
.Ef
.Bf Li
.No .( ,
.No :noname ,
.No ?do ,
parse, pick, roll, refill, to, value, \e, false, true,
.No <> ,
.No 0<> ,
compile\&, , erase, nip, tuck, maker
.Ef
.Bf Em
を提供しています。
Exception Extensions 語集合を提供しています。
Locals Extensions 語集合を提供しています。
Memory-Allocation Extensions 語集合を提供しています。
Programming-Tools 拡張語集合からは
.Ef
.Bf Li
\&.s,
bye, forget, see, words,
\&[if],
\&[else],
.Li [then]
.Ef
.Bf Em
を提供しています。
Search-Order 拡張語集合を提供しています。
.Ef
.Sh 歴史
.Nm
が最初に登場したのは
.Fx 3.1
です。
.Sh 作者
.An -nosplit
.Nm
は
.An Michael Smith Aq msmith@FreeBSD.org
が記述しました。
.Pp
.Tn FICL
は
.An John Sadler Aq john_sadler@alum.mit.edu
が記述しました。
.Sh バグ
.Ic expect
と
.Ic accept
の語は、コンソールからではなく入力バッファから読み込みます。
後者については修正されますが、前者は修正されません。