新しい機能や近い将来計画されているプログラムについては、section GNUプロジェクトの今後の展開。
相互参照の略語を次に示す。
BinCD … 1995年12月版バイナリ CD-ROM SrcCD … 1995年12月版ソース・コード CD-ROMs
[FSFman]は、販売している該当パッケージのマニュアルを示す。 [FSFrc]は、販売している該当パッケージのリファレンス・カードを示す。 注文は、 see section Free Software Foundation注文票(日本専用) を参照のこと。マニュアルの詳細は、See section GNUマニュアルについて。マニュアル やリファレンス・カードのソース・コードは、該当するソフトウェア・パッケージ に入っている。
acm (SrcCD)
acmはX Window System 下で動作する空中戦のシミュレーション・プログ
ラムであり、LAN 指向の複数プレーヤーに対応している。プレーヤーは、熱探査
ミサイルや機関銃を使って、もう 1 人のプレーヤーと空対空で交戦する。本物
の戦闘機の特徴をさらに精密にシミュレートするための作業を行なっている。
m4 のマクロ呼び出し形式で
列挙されている。Autoconf は作業を進める際に GNU m4 を必要とするが、
Autoconf で生成された構築スクリプトでは GNU m4 は必要ない。
shと互換性が
あり、csh や ksh の多くの拡張を採り入れたものである。ジョブ制
御機能や、csh 形式のコマンド履歴、readline ライブラリを使用した
コマンド行編集機能 (Emacs や vi モードが組み込まれており、キーの再割
り当てが可能である) が備わっている。BASH は、POSIX 1003.2-1992のシェル仕様
に従っている。
bc (SrcCD)
bc は多倍長精度整数を備えた会話型の計算言語である。GNU bc は
POSIX 1003.2-1992 規格のドラフトにいくつかの拡張を施して作られたものであり、
変数名に 2 文字以上の指定が可能で、else 文があり、論理式を全て網羅し
ている。RPN電卓のdcは現在、このパッケージの一部として配布されている。
GNU bc は dcプリプロセッサとして実装されてはいない。
ld や GDB
など) から、異なる形式のオブジェクト・ファイルを透過的に扱えるようになる。
BFD では移植性の高いインタフェースを提供しているので、実際にはBFDに個々
の形式の詳細を与えるだけでよい。このような設計により、BFD を使っている全
てのプログラムで COFF や ELF といった形式のサポートが可能になる。BFD に
は Texinfo 形式のドキュメントも含まれている(製本されたものはまだ出版して
いない)。現在、BFDは、独立したパッケージとして配布しておらず、それを使用
しているパッケージに含まれている。
ar、
c++filt、
demangle、
gas、
gprof、
ld、
nlmconv、
nm、
objcopy、
objdump、
ranlib、
size、
strings、
strip
が入っている。
Binutils のバージョン 2 は、BFD ライブラリを使っている。gas(GNUア
センブラ)は、a29k、Alpha、H8/300、H8/500、HP-PA、i386、i960、m68k、m88k、
MIPS、NS32K、SH、SPARC、Tahoe、Vax、Z8000 CPUをサポートしており、UNIXや
組み込みシステムと互換を持たせようとしている。C言語とアセン
ブラの入ったリストの生成が可能であり、その他の多くのアセンブラに似たマク
ロ機能を備えている。ld(GNU リンカ)は、多重定義のシンボルや未定義
の参照があったソースの行番号を含むエラー・メッセージを表示する、という特
徴を備えている。AT&T のリンカ・コマンド言語のスーパーサブセットを解釈し、
メモリに配置されるセグメントを全体にわたって制御する。
nlmconv は、オブジェクト・ファイルを Novel NetWare でロード可能な
モジュールに変換する。 objdump プログラムは、前述のCPU用のコード
を逆アセンブルしたり、BFDで読み取ったあらゆるファイルの形式から他のデー
タ(シンボルや再配置)情報を表示することが可能である。
yacc と上位互換性がある構文解析部を生成する代替ソフトウェア
である。Bison Manual とリファレンス・カードの Texinfo ソース・テキス
ト・ファイルも入っている。See section GNUマニュアルについて。
フリーでないプログラムでもBison対応の構文解析ツールを使ってもよい、とい
うふうに最近方針を変更した。
malloc の高速なバージョンを作成し、GNU 正規表現関数(regex
とrx)は現在、POSIX 1003.2 の規格をほとんど満たしている。
GNU stdio では、2〜3個 の C 関数を新たに記述すれば自分の新しいストリー
ムを定義することができる。fmemopen 関数は、文字列に対してストリーム
をオープンするためにこの方法を採用しており、必要に応じて拡張が可能である。
自分の書いた C 言語の関数を使うために、自分用のprintf のフォーマット
文字列を定義することも可能である。例えば、他のプログラミング言語向けに、
printfのような関数を実装する場合に、ユーザからの入力に対するフォーマッ
ト文字列を安全に処理することが可能である。拡張 getopt 関数は、長いオ
プション名のオプションの解析のために、多くの GNU ユーティリティ内で既に用い
られている。
GNU C Library Reference Manual の Texinfo 形式のテキスト・ソース・ファ
イルも入っている(see section GNUマニュアルについて)。
Cライブラリの動作するマシンは、Sun-3 (SunOS 4.1)、Sun-4 (SunOS 4.1 または
Solaris 2)、HP 9000/300 (4.3BSD)、SONY News 800 (NEWS OS 3 または 4)、MIPS
DECstation (Ultrix 4)、DEC Alpha (OSF/1)、i386/i486/Pentium (GNU/Hurd、
GNU/Linux、System V、SVR4、BSD、SCO 3.2、SCO ODT 2.0)、Sequent Symmetry
i386 (Dynix 3)、SGI (Irix 4) である。
gnuplot への出力が可能で、Calc Manual とリファレ
ンス・カードの各ソース・コードが付いている(See section GNUマニュアルについて)。
cfengine (SrcCD)
cfengineは、単純な高級言語を使って異機種の Unix ネットワークのサイト
にまたがる構成を保守するために用いられる。外見は rdist に似ているが、
さらに多くの命令を使って自動的に操作することができる。詳細は、Mark Burgess
の書いた「A Site Configuration Engine」 Computing Systems、Vol. 8、
No. 3 を参照(または、office@usenix.org へ問い合わせ)のこと。
xboard経由の気の利いた X 端末インタフェースをサポートする。
最近の改良点として、
ゲーム分析部や定石部、
ハッシュ表の改良、
引き分けと王手処理の改良、
相手考慮時間の勘案、
Autoconfによるインストール、
Windows NTのコンパイルのための makefile、
先読みによる枝刈り、
静的で無制限の捕獲、
評価の改良、
無駄な手や時間制御ロジックの改良、
繰り返しの検知
などがある。
GNU Chessの開発はStuart Cracraftが着手した。改良部分と修正は、John Stanback、
Cha Kong Sian、Mike McGann、他が行なった。バグの報告
先は bug-gnu-chess@prep.ai.mit.edu へ、一般のコメントは
info-gnu-chess@prep.ai.mit.edu へ。
cpio (SrcCD)
cpio は、SVR4 cpioの全機能を備えたアーカイブ・プログラムで
あり、POSIX 1003.1 ustar 規格に準拠している。mt は、磁気テー
プの位置決めを行なうプログラムであり、cpio と共に配布されている。
makeや
GNATSでそれぞれ別個に扱っている。
expect が付いてくる。
diff は、柔軟性のある数種類の形式で、行ごとの変更点を表示してファ
イルを比較するプログラムである。昔からある Unix のものと比較するとかなり高
速に動作する。この「Diffutils」 パッケージには、diff、diff3、
sdiff、cmpが入っている。最近のDiffutilsの改良点として、文字セッ
トの取り扱いにさらに一貫性を持たせ、すべての入出力をバイナリで行なう新しい
diff オプションを作った。これはPosix以外のホスト上では有用である。今
後はDiffutilsパッケージを、国際語化(中国語でのエラー・メッセージなど)やUnix
以外のPC環境への対応を進めていく予定である。
flex、GAS、GNUバイナリ・ユーティリテイを移植したものも付いている。
完全なソース・コードが提供されている。DJGPP のインストールには、ハードディ
スクの空き容量として最低 5M バイト、利用するためには512K バイトのメイン
メモリが必要である。SVGA (1024x768 迄)やXMS、VDISKのメモリ割り当て、
himem.sys、VCPI (QEMM、DESQview、386MAXなど)、DPMI (Windows 3.x、
OS/2、QEMM、QDPMIなど)をサポートしている。
DJGPPのバージョン2は1996年2月にリリースされた。これにはDPMI環境が必要な
ので、フリーなDPMIサーバも入っている。
`ftp.simtel.net'マシンの`/pub/simtelnet/gnu/djgpp/'
(または別の SimTel のミラー・サイト) からFTPで入手可能である。
DJGPP ユーザのためのメイリング・リストに参加するには、
djgpp-request@sun.soe.clarkson.edu へ問い合わせのこと。
dld (SrcCD)
dld は、W. Wilson Ho が作成したダンナミック・リンカである。
dld ライブラリを使うプログラムは、そのバイナリの実行中に、動的に
オブジェクト・ファイルをロードできるようになる。現在サポートしているマシ
ンは、Convex C-Series (BSD)、i386/i486/Pentium (Linux)、
Sequent Symmetry i386 (Dynix 3)、Sun-3 (SunOS 3と4)、Sun-4 (SunOS 4)、
VAX (Ultrix)である。
doschk (SrcCD)
このプログラムは、ソフトウェア開発者の作ったソース・ファイルを、14文字のファ
イル名を扱うSystem V のプラットフォーム上や、8+3文字のファイル名を扱う
MS-DOSシステム上で区別できるようなファイル名であるかを調べるためのユーティ
リティである。
ecc (SrcCD)
eccは、Reed-Solomon アルゴリズムを用いたエラー訂正チェック・ライブラ
リであり、簡単なプログラムも入っている。
255バイトのブロック単位で3バイト・エラーを訂正し、さらに深
刻なエラーを検出する。詳細は、paulf@Stanford.EDU へ問い合わせの
こと。
ed (SrcCD)
ed は、標準のテキスト・エディタである。
archive.cis.ohio-state.edu マシンの
`/pub/gnu/emacs/elisp-archive'をFTPで入手することができる。
es (SrcCD)
esは rc を基にした拡張性に富んだシェルであるが、1階述語関
数、構文上の有効範囲の導入、割り込みシステム、豊富な戻り値 (関数が数値以
外の値を返すことができる) を含む多くの特徴が備わっている。esの拡
張能力は、パス検索やリダイレクションといったシェルの組み込みサービスを修
正および拡張するための能力が基になっている。rc (訳注: Bell研の
Plan 9 に採用されている標準のシェル) のように、特に、引用規則がCシェルや
Bourne シェルよりもずっと簡素化されているので、会話型での利用やスクリプ
トの作成の際の両方に非常に便利である。
enscript (SrcCD)
enscriptは、Adobe社の enscript プログラムと上位互換の代替版で
ある。Postscript形式でASCIIファイルをフォーマットし、その結果をファイルに保
存するか、あるいはプリンタへ直接送る。
f2c (SrcCD)
f2c は、Fortran-77 のソース・ファイルを C 言語または C++言語
に変換する。そのため、GCCまたはG++でコンパイルすることができる。バグ修
正情報は、netlib.bell-labs.com マシンからFTPで、あるいは
netlib@research.bell-labs.com へメイルを出すと、入手することができ
る。要約情報は`/netlib/f2c/readme.Z'というファイルを参照のこと。
また、後述のFortranの記述や、section GNUプロジェクトの今後の展開。
ffcall (SrcCD)
ffcall は、Bill Triggsと Bruno Haibleが作成したものであり、インター
プリタに組み込む際に使用するC言語以外の関数を呼び出すようなC言語のライブラ
リである。これを使えば、任意の引数リストと戻り値の型を伴ったC関数を呼び出し
たり、エミュレート(コールバック)することができる。
chgrp、
chmod、
chown、
cp、
dd、
df、
dir、
dircolors、
du、
install、
ln、
ls、
mkdir、
mkfifo、
mknod、
mv、
rm、
rmdir、
sync、
touch、
vdir。
find は、会話時にあるいはシェル・スクリプト内で頻繁に用いられるコ
マンドである。与えられた基準に一致したファイルを検索し、任意の操作を行な
うような場合に使用される。また、このパッケージには、パターンに一致するファ
イル名のためのデータベースを検索する locate や、コマンドをファイ
ルのリストに適用する xargs も入っている。
flex (BinCD、SrcCD) [FSFman、FSFrc]
flex は、Unix の lex (字句解析生成プログラム) の代替である。
flex は、Lawrence Berkeley 研究所の Vern Paxson が作成し、lex
と比べて非常に効率の良い字句解析プログラムを生成する。Flex Manual と
リファレンス・カードのテキスト・ソース・ファイルも入っている
(see section GNUマニュアルについて)。
g77) 他にSee section GNUプロジェクトの今後の展開 (SrcCD)
Craig Burley が開発した GNU Fortran (g77)は、@Beta{} テストとして
Internetに公開しており、入手可能である。当分の間、g77 は、
f2cとほぼオブジェクト互換のコードを生成し、同じランタイム・ライブ
ラリ(libf2c)を使う。
bpltobzr、
bzrto、
charspace、
fontconvert、
gsrenderfont、
imageto、
imgrotate、
limn、
xbfe
が入っている。
awkと上位互換である。また、他の awk
の実装には見られない便利な拡張がいくつか施されている。Texinfo形式の
GAWK Manual のテキスト・ソース・ファイルは、ソフトウェアに付属し
ている。See section GNUマニュアルについて。
gcal (SrcCD)
gcalは、カレンダーを出力するためのプログラムである。
様々なカレンダーの種類、固定の休日リスト、決められた日取りのお知らせリスト
を表示する。
object 以外の Objective-C クラスは含まれていない
が、「GNUStep」のsection GNUプロジェクトの今後の展開)。
cfront (AT&T コンパイラ) は ANSI 規格とは異なってきているので、
G++ では、cfront ではなく、発展しつつある ASNI 規格にできる限
りあわせている。
GNU C コンパイラはかなり移植性の高い最適化プログラムであり、次の機能を備え
ている。
レジスタの自動割り当て、
共通部分式の削除 (CSE)、
(命令スケジューリングや遅延スロットの活用は全てのマシン記述
に用意されているわけではないが、基本ブロック間での多少のCSEを含む
)
ループ内の不変式のループ外への移動、
誘導変数の最適化、
定数や複製の伝搬、
スタックに積んだ関数引数の遅延復帰、
末尾再帰関数の削除、
インライン関数の展開とフレーム・ポインタの削除の統合、
命令スケジューリング、
ループの展開、
遅延スロットの最適化、
末端関数の最適化、
定数との乗算最適化、
命令に属性を割り当てる機能、
ターゲット・マシンの仕様を記述したファイルから自動的に生成される様々な局
所最適化コード、
等である。
GCC 2 では、64 ビット演算のコード(long long 型)も生成可能になってい
る。拡張浮動小数点(long double 型)は68kマシン上ではサポー
トされており、その他のマシンも今後サポートしていく予定である。
GCC は フルセットの ANSI C 、旧来のC、GNU C拡張言語(関数の入れ子や、関数
をまたがる goto、ラベルのアドレスの取得を含む)をサポートしている。
GCC は、適切なアセンブラがあれば a.out や COFF、ELF、OSF-Roseファイルを生成
することができる。デバッグ情報は BSD スタブやCOFF、ECOFF、スタブ付きの
ECOFF、DWARF などの形式で生成可能である。
GCCがコード生成できるCPUを次に示す。
a29k、
Alpha、
ARM、
AT&T、
DSP1610、
Clipper、
Convex cN、
Elxsi、
Fujitsu Gmicro、
i370、
i860、
i960、
MIL-STD-1750a、
MIPS、
ns32k、
PDP-11、
Pyramid、
ROMP、
RS/6000、
SH、
SPUR、
Tahoe、
VAX、
we32k。
位置独立なコードは、
Clipper、
Hitachi H8/300、
HP--PA (1.0と1.1)、
i386/i486/Pentium、
m68k、
m88k、
SPARC、
SPARClite
向けに生成可能である。
オペレーティング・システム別に示す。
GNU/Hurd、
GNU/Linux、
ACIS、
AIX、
AOS、
BSD、
Clix、
Concentrix、
Ctix、
DG/UX、
Dynix、
FreeBSD、
Genix、
HP-UX、
Irix、
ISC、
Luna、
LynxOS、gdbtk(ftp.cygnus.comマシンの`/pub/gdb'という
ディレクトリからFTP)と、xxgdb (ftp.x.org
マシンのディレクトリ
`/contrib/utilities'からFTP)の2つのXのインタフェースがあり、FSFからは
配布、保守していない。
BFD (訳注: バイナリ・ファイル記述子) を使用して、実行形式のファイルとオブジェ
クト・ファイルと記号表を読み込む。これにより、GDB の実行形式が1つあれば、複
数のオブジェクト・ファイル形式 (例えば a.out や COFF) のオブジェクトをデバッ
グすることが可能となっている。その他の機能として、豊富なコマンド言語、シリ
アル回線や TCP/IP 経由のリモート・デバッグ、ウォッチ・ポイント (式の値が変
更されたらブレークする) がある。
GDBは、シミュレータ・ライブラリに対する標準のリモート・インタフェースを
使っている。(これまでのところ) ライブラリには、
ARM、
Hitachi H8/300、
Hitachi H8/500、
Hitachi Super-H、
PowerPC、
WDC 65816、
Zilog Z8001/2 用の各シミュレータが入っている。
GDB はクロスデバッグも可能である。GDB が、あるプラットフォームを「ターゲッ
ト」にしているという場合は、そのプラットフォーム上でネイティブ・デバッグ
やクロスデバッグができる、という意味である。GDB で指定されたプラットフォー
ムを「ホスト」にすることができるということは、そこで GDB を作成すること
が可能ではあるが、必ずしもデバッグ対象プログラムをデバッグできるとは限ら
ないことを意味する。GDB は次に示すマシンをサポートしている。
gdbm (SrcCD)
gdbm ライブラリは、伝統的な dbm と ndbm ライブラリの
GNU 版代替品である。ハッシュを用いて高速検索が可能なデータベースを実現して
いる。(Unix や BSDのそれとは違って) 通常、データベースのファイル内に無駄な
空間を作らない。
gettext 他にsee section GNU翻訳プロジェクトへの支援 (SrcCD)
GNU gettextツール・セットには、パッケージのユーザ・メッセージを国際
語化するのに必要な保守プログラムが全て入っている。
いったんパッケージを国際語化すれば、gettextの多くのツールを利用して、
母国語向けにメッセージを翻訳してローカライズしたり、翻訳ファイルの取り扱い
を自動化させることができる。
geomview (SrcCD)
geomview は、会話型の幾何的なビューアである。これにより、複数のオ
ブジェクトとカメラを独立して制御可能になる。
geomview7には、動作、外形(陰影や素材を含む)、オブジェクトや辺や頂点の選
択、SGIのイメージ・ファイルや Renderman のRIB形式でのスナップショットが用
意されている。
オブジェクトを追加したり削除する場合は、マウスで直接操作したり、制御パネル
やキーボードのショートカット・キーで行なう。
外部プログラムは、任意の局面のビューアとして起動される
(例えば、
変更中の図形を継続してロードしたり、特定のオブジェクトの動作を制御する等
の)ビューアの機能を任意に使うことができる。
ghostview@cs.wisc.edu) は、Ghostscript上で動作する
Ghostview (複数ページのファイルを扱うプリビューア) を作成した。Ghostviewは、
Ghostscript インタープリタ用の X11 ユーザ・インタフェースを備えている。
Ghostview と Ghostscript は 2 つが協調して動作するプログラムである。つまり、
Ghostview は表示ウィンドウを生成し、Ghostscriptはそこに描画する。
gmp (SrcCD)
GNU mpは、多倍長精度の整数や有理数、浮動小数点数に関する演算のた
めのライブラリである。関数が豊富に用意されており、全て統一されたインタフェー
スを有している。
大幅に変更した新しいバージョン2.0をリリースした。
以前のバージョンと比較すると、さらに高速になり、新しい関数も数多く入っている。
主な新機能は、多倍長精度の浮動小数点数のサポートである。
cs.nyu.edu マシンの`/pub/gnat' からanonymous FTPにて入
手可能である。SGIとDigitalは、あるシステムのAdaコンパイラとして、GNU Adaを
採用した。GNATの情報はcomp.lang.ada という USENET のニュースグループ
に投稿されている。
gnussl) (SrcCD)
GNUMATHは、科学的なプログラミングを簡単化するために設計されたライブラリ
(gnussl)である。これは、数値的に素直な、つまり、線形的に解ける問題に
焦点をあてている。また、プロット機能もある。GNUMATHは@Beta{}リリース段階だ
が、さらに多方面に拡張し、将来的には適用範囲がさらに広がることを期待してい
る。
gnuplot (SrcCD)
gnuplot は、数式やデータをプロットするための対話型プログラムである。
曲線(二次元)と面(三次元)の両方を対象としている。gnuplot プログラムは
GNU プロジェクトで作成したものではなく、名付けたものでもない。この名前は単
なる偶然である。様々なGNUプログラムでgnuplot が使われている。
gnuserv (SrcCD)
gnuserv は、Emacsの emacsclientプログラムの拡張版である。
別のプロセスからファイルを編集したり任意の Emacs Lisp の式を評価する
ような指示を、ユーザが実行中の Emacs に与える。
gperf (SrcCD)
gperf は、完全ハッシュ表を生成する。C言語版は cperfというパッケー
ジに入っている。C++ 言語版は libg++パッケージに入っている。ど
ちらもC言語または C++ 言語で書かれたハッシュ関数を生成する。
spline補間プログラム、
graph や plot を用いたシェル・スクリプトの例、
統計ツールキット、
TekniCAD TDAとln03のファイル形式での出力
といった特徴がある。
バグや要求は、Rich Murphey (Rich@lamprey.utmb.edu) へ電子メイル
にて問い合わせのこと。
grep、egrep、fgrepが入っており、
入力されたパターンに一致する行を出力する。これらは従来の Unix 版よりも非常
に高速に動作する。
troffを基にした文書処理システムであり、
eqn、
nroff、
pic、
refer、
tbl、
troff、
man、
ms、
mmの各マクロや、
Postscript、TeX dvi、LaserJet 4 シリーズのプリンタ、タイプライタ
形式の各ドライバから成る。
Groff のmmマクロは DWB mm マクロとほとんど互換であり、様々
な拡張が施されている。
Berkeley meマクロの修正版やX11 xditviewプリビューアの拡張
版も入っている。
これらのプログラムはC++言語で記述されているので、バージョン2.7.2以降の
GNU C++ であればコンパイルすることができる。
Groffユーザには拡張コードを寄与するように奨励している。優先順位の高い作業は、
Texinfo 形式のドキュメント、grap エミュレーション (グラフを組版する
ための pic プリプロセッサ)、pm のようなページ記述ポストプロセッ
サ (「Computing Systems」 Vol. 2、No. 2 を参照、コピーの入手方法
は office@usenix.org へ問い合わせのこと) 、pic 用の ASCII 出
力クラスである。これを用いればpic を Texinfo に統合することが可能に
なる。配布されているドキュメントを読んだユーザからの質問やバグ報告は、
bug-groff@prep.ai.mit.edu へ送ってもよい。
gzip (SrcCD)
gzip は LZW 圧縮ファイルを復元することができる。圧縮には特許に
なっていない別のアルゴリズムを採用しており、一般に良い結果を得ている。ま
た、System Vの pack プログラムを使って圧縮されたファイルも復元す
ることができる。
hello (SrcCD)
GNU hello プログラムは、親しみやすく友好的な挨拶文を生成する。プログ
ラマ以外の人には、コンピュータ科学のツールは使いこなせないと考えられていた
古典的なツールを、使いこなせるものとした。これ自体が GNU 一般公有使用許諾で
保護されているので、誰もが自由に共有し、変更が可能である。
helloは、GNUコーディング規則に則ったプログラムとしても良い手本に
なっている。
本当に有用なプログラムと同じように、hello は組み込みのメイル・リーダ
を提供している。
hp2xx (SrcCD)
GNU hp2xx は HP-GL ファイルを読み取り、全ての描画コマンドを基本ベク
タに構成し直したあとで、様々なベクタやラスタ出力形式に変換する。また、HP-GL
プリビューアも入っている。現在、サポートされているベクタ形式として、
Encapsulated Postscriptや Uniplex RGIP、メタフォント、各種の TeX関連の特
殊ファイル、取り込み用の簡素化された HP-GL (線描画のみ) がある。ラスタ形式
では、IMG、PBM、PCX、HP-PCL (Deskjet と DJ5xxC サポートを含む) をサポートし
ている。プリビューアは、X11 (Unix)やOS/2 (PM とフルスクリーン)、MS-DOS
(SVGA、VGA、HGC)上で動作する。
indent (SrcCD)
GNU indent は、C言語で記述されたソース・コードをGNUの字下げスタイ
ルに整形する。BSDやK&R、その他の固有のスタイルをオプションを指定して出力
する。GNU indent は他のものよりも頑強で、C++言語の注釈を扱う
など、他の類似のプログラムにはない機能を多く提供している。DOSやVMSを含む
数多くのシステム上で動作する。
次のバージョンでも、C++ソース・コードにも対応する予定である。
less (SrcCD)
less は、more やpg に似ているページ捲りプログラムであ
る。ただし、類似のプログラムのほとんどにはない様々な機能(後方へのスクロール
機能など)を備えている。
m4 (SrcCD)
GNU m4 は、昔からある Unix のマクロプロセッサの GNU 版で、SVR4 と
ほぼ完全な互換性を持ち、さらに幾つかの拡張(例えば、マクロに対して位置的
な引数を 9 個以上与えることが可能) が施されている。また、m4 には
ファイルの挿入やシェル・コマンドの実行、演算機能、等を行なう組み込み関数
もある。
make section GNUプロジェクトの今後の展開(BinCD、SrcCD) [FSFman]
GNU make は POSIX 1003.2をサポートしており、BSD 版のmakeやSystem V版
の make の不明瞭な機能を2〜3箇所除いて全てを備えている。また、MS-DOSや
AmigaDOS、VMS、Windows NT、Windows 95上でも動作する。長い名前のオプション、
並列コンパイル、柔軟性のある明示的なパターン規則、条件実行、強力なテキスト
処理機能といった GNU 版独自の拡張も施されている。Make Manual のソー
ス・ファイルは、プログラムと共に提供されている(see section GNUマニュアルについて)。
mc) (SrcCD)
Midnight Commanderは、使いやすく色付きのUnixファイル管理プログラムとシェル
である。初心者や指導者レベルの人にとっても有用である。これには仮想ファイル・
システムが組み込まれており、それにより、tarファイル内のファイルの操作が可能
になっている。さらに、FTPプロトコルを使ってリモート・マシンのファイルも操作
することができる。外部にUnixプログラムを用意することにより、この機構の拡張
が可能である。
mkisofs (SrcCD)
mkisofsは事前にマスタリングを行なうプログラムであり、ISO 9660ファイ
ル・システムに変換する機能がある。これは木構造状のディレクトリのスナップショッ
トを作成し、ブロック・デバイスに書き込む場合に使用するISO 9660ファイル・シ
ステムに従ったバイナリ・イメージを作る。mkisofsは、Rock Ridge
Interchange Protoocolの System Use Sharing Protocol ( Unix上では通常、さら
にISO 9660ファイル・システム内にファイルを記述している。これにより、長いファ
イル名やuid/gid、許可ビット、デバイス・ノードなどの情報を提供する)にも変換
することができる。
mkisofsプログラムは、cdwriteと共に頻繁に用いられる。
cdwriteは、mkisofsが生成するイメージを取り込む場合や、ディス
クを実際に焼き付けるCDライターを操作する場合に使用する。cdwriteは
Linux上で動作し、一般のCDライターに対応している。旧版のcdwriteには旧
版のmkisofsが入っているので要注意。最新版は、sunsite.unc.edu
マシンの/pub/Linux/utils/disk-management/cdwrite-2.0.tar.gzを入手の
こと。
mtools (SrcCD)
mtools は、Unix システム上で、MS-DOS ファイル・システム (通常は、フ
ロッピー・ディスク) のファイルの読み書きや操作を行なえるようにするパブリッ
ク・ドメイン・プログラムの集まりである。
ncurses (SrcCD)
ncursesは、画面を利用した端末に依存しないプログラム開発のためのUnix
cursesライブラリを実装したものである。
nvi (SrcCD)
nvi は、Unix エディタ vi/ex を実現したもので、フリーに
配布可能である。オリジナルの vi/ex のほとんどの機能を備えてい
るが、"open" モードと lisp オプションをサポートしていない。
拡張機能としては、
画面を複数のバッファに分割したり、
コマンド行編集やパスの補完、
Perl5 と Tclを統合したスクリプト言語、
Cscopeのサポートとタグ・スタック、
8ビット・データの取り扱い、
大きさに制限のないファイルと行、
制限のない取り消し (undo)、
メッセージ・カタログ、
差分検索、
拡張された正規表現
がある。
構築するときはAutoconfを使用し、Unixに似たシステムであれば動作する。
gstep-base.tar.gz、
libobjects) は汎用のオブジェクトであり、Andrew McCallum と複数のボラ
ンティアにより作成された。これには、
オブジェクトのグループを保守するためのクラスの集合、
I/Oストリーム、
オブジェクトや、C言語の型を、ストリームに対してフォーマットするためのコーダー、
ネットワーク上のパケット伝送に使用するポート、
分散オブジェクト(遠隔オブジェクト・メッセージの送信)、
文字列クラス、
インボケーション、
通知機能、
イベント・ループ、
タイマ、
例外処理、
疑似乱数ジェネレータ、
時刻を扱う機能
が入っている。
GNUStepプロジェクトのために基底クラスも入っており、そのうちの80個以上が実装
済みである。
問い合わせとバグ報告は、mccallum@gnu.ai.mit.eduへ連絡のこと。
gnuplotを使うと可能になる。
問い合わせやバグ報告は bug-octave@che.utexas.edu 宛てへ。ソース・
ファイルには、220ページ強の Texinfo 形式のマニュアルが入っているが、まだFSF
から出版されていない。
p2c (SrcCD)
p2cは、Dave Gilespieが作成した Pascal-to-Cトランスレータである。多く
の方言(HP、ISO、Turbo、VAX、他)の入力が可能で、読みやすく保守も容易で移植性
の良いコードを生成する。
patch (SrcCD)
patch は Larry Wall の作成したプログラムの GNU 版で、diff
の出力結果を取り込んで元のファイルに差分情報を反映させ、パッチをあてたバー
ジョンを作成する。
perl (SrcCD)
Larry Wall が作成したperl は、C言語やsed、awk、
shそれぞれの機能と能力を組み合わせたものであり、Unix のシステム・コー
ルと多くの C ライブラリ・ルーチンのインタフェースが用意されている。
pine 他にsee section Pineについての悪いニュース (SrcCD)
pineは、馴染みやすいメニュー方式の電子メイル・マネージャ兼ユーザ
・インタフェースである。
ptx 他にsee section GNUプロジェクトの今後の展開 (SrcCD)
ptx は、伝統的な交互参照表生成プログラムの GNU 版である。一度に複数
の入力ファイルを扱い、TeX 互換の出力を生成したり、nroff を使わずに読みや
すい KWIC (KeyWords In Context) を出力する。メモリにおさまらない大き
さの入力ファイルにはまだ対応していない。
rc (SrcCD)
rc はシェルである。C 言語に似た構文 (CシェルよりもC言語に似ている)
を備えており、C シェルやB シェルよりもきれいな引用規則を備えているという特
徴がある。会話的に用いられることを想定しているが、スクリプトを作成する際
にも大変便利である。esというシェルへ影響を与えた。
diff を使えば、RCS はバイ
ナリ・ファイル (8 ビット・データ・ファイル、実行形式、オブジェクト・ファイ
ルなど) を取り扱うことが可能となる。RCSは現在、GNUの標準の構築方法とPOSIX
1003.1b-1993に従っている。前述の CVS についても参照のこと。
recode 他にsee section GNUプロジェクトの今後の展開(SrcCD)
GNU recode は、文字セットと利用方法を与えて変換するものである。正し
い音訳が不可能な場合 (訳注: 例えば、ロシア語をローマ字で綴るような場合のこ
と) は不可能な文字を取り除いたり、近い文字を採用する。このプログラムは、約
150 種類の文字セットを認識し、どのような文字セットの組み合わせでもほとんど
変換することが可能である。RFC 1345 のほとんどの文字セットをサポートしている。
regex (SrcCD)
GNU 正規表現ライブラリは POSIX.2 をサポートしているが、国際語化の機能は入っ
ていない。以前は、正規表現ルーチンを使っている多くの GNU プログラムにこれ
が入っていたが、今回から、ついに独立した配布も行なうようにした。他の正規表現
パッケージとしてrxがあるが、たいていの場合にregexよりも高速な
ので、いつかregexを置き換える予定である。
rx (SrcCD)
Tom Lordは、我々の古い GNU regex ライブラリよりも高速な正規表現ライ
ブラリ rx を新しく作成した。現在、sedやtarと共に配布さ
れている。rxはm4とptxの次期リリースに用いられることに
なるだろう。
screen (SrcCD)
screenは、単一の文字指向の端末上に複数で別々の「画面」(tty)を実行
する端末のマルチプレクサである。仮想端末別に、DEC VT100や、ISO 2022とISO
6429 (ECMA 48、ANSI X3.64)の機能をエミュレートする。通常のキーボード入力
の変換もサポートされている。screen セッションを切り離し、別の端末
でセッションを継続することができる。切り離されたセッション内の出力は、あ
とで再開するときのために保存される。
sed (SrcCD)
sed はedの文字列指向版である。rx ライブラリが付いてく
る。
sharは、電子メイル・サービスを使って転送するために、多くのファイルを
まとめて、いわゆるシェル・アーカイブを作成するツールである。unsharは、
受信後にそのシェル・アーカイブの解凍を支援する。uuencodeと
uudecodeは、7ビットのASCIIリンクを経由して問題なく転送される形式にファ
イルを変換する1組のプログラムであり、POSIXの仕様に従って実現したものである。
basename、
chroot、
date、
dirname、
echo、
env、
expr、
factor、
false、
groups、
hostname、
id、
logname、
nice、
nohup、
pathchk、
printenv、
printf、
pwd、
seq、
sleep、
stty、
su、
tee、
test、
true、
tty、
uname、
uptime、
users、
who、
whoami、
yes。
sendmailと互換性があり、単純に
差し替えられるように設計された。
sendmailよりもずっと簡素な構築形式を用いており、最小限の努力で設定で
きるような設計になっている。
tar (SrcCD)
GNU tar は、マルチボリュームをサポートしており、疎なファイルをアーカ
イブする機能やリモート・アーカイブ、アーカイブの自動圧縮 / 復元などをサポー
トしている。特に、tarを使ってファイル・システムの差分や全体のバック
アップを作成することができるという特徴がある。GNU tar は、POSIX
1003.1 ustar 規格の初期のドラフトに従っており、最終バージョンとは異
なる。この点については、今後、最終バージョンに準拠していく予定である。
libtermcap.a の代替版であり、あらゆるシステ
ムで利用可能である。通常の Termcap とは異なり、Termcap の記述項目の大きさの
制限を外した。Texinfo 形式の Termcap Manual のテキスト・ソース・
ファイルも入っている(See section GNUマニュアルについて)。
tputを使うと、シェル・スクリプトを記述する際に、端末の特殊な機能
を記述することが可能になる。
tabsはハードウェア端末にタブを設定するプログラムである。
web2c TeX パッケージである。ソー
ス・ファイルは anonymous FTP で入手可能であり、検索方法は
ftp.cs.umb.edu マシンの `pub/tex/unixtex.ftp' に入っている。ワ
シントン大学からインストール・サポートを受ける場合は、寄付金も送るよう配慮
していただきたい。tar で記述され、1/4inch 4 トラック QIC-24 の
カートリッジまたは 4mm の DAT カートリッジに入った完全配布版を注文す
るには210ドルを次の所へ送る。
Pierre A. MacKay
Department of Classics
DH-10, Denny Hall 218
University of Washington
Seattle, WA 98195
USA
電子メイル: mackay@cs.washington.edu
電話番号: +1-206-543-2268
支払いは、ワシントン大学へ小切手を送る。受取人名はワシントン大学にして、
他の受領者名は記述しないこと。そうでないと、口座処理が困難になるので。小
切手は米ドルで、米国にある銀行で引き落とし可能なものでなければならない。
注文は現在、前払いのみを受け付けている。海外便では、追加基本料金として普
通の航空便は 20ドル、急ぎの場合の航空便は 30 ドルを上乗せしていただきた
い。上記の価格と形式の最新情報については常時確認していただきたい。
makeinfo、
info、
texi2dvi、
texindex、
tex2patch、
fixfonts)
の集まりである。バージョン 3 には、Emacs Lispと、C言語またはシェル・スクリ
プトで書かれた単独で動作するプログラムの両方が入っている。GNU Emacsの
Texinfoモードを使うと、Texinfo ファイルを容易に編集、更新することができる
(See section GNUマニュアルについて)。
cat、
cksum、
comm、
csplit、
cut、
expand、
fmt、
fold、
head、
join、
md5sum、
nl、
od、
paste、
pr、
sort、
split、
sum、
tac、
tail、
tr、
unexpand、
uniq、
wc。
libtiff)は、一般に使われているビットマップ・グラフィッ
クのタグ付きのイメージ・ファイル形式(Tagged Image File Format)のファ
イルを操作するためのライブラリである。
time (SrcCD)
timeは、(通常はシェルから) 1 つのプロセスのユーザ・タイムやシステ
ム・タイム、実経過時間を出力する。システムによっては、メモリ消費量、ペー
ジ・フォールト、その他の情報も出力する。
ucblogo (SrcCD)
ucblogoは、標準的な教育言語である Logo を実現したものである。
f、
g (全てのウィンドウとパケット・サイズで)、
v、
G、
t、
e、
Zmodem、
そして2つの新しい双方向性のプロトコル(iとj) をサポートする。
Berkeley ソケット・ライブラリを使うと、TCP接続が可能である。TLIライブラ
リを使えば、TLI接続を行なうようなプログラムにすることができる。ソース・
ファイルにはマニュアルも入っているが、FSFではまだ印刷物としては出版して
いない。
wdiff (SrcCD)
wdiff は、GNU diff に対するフロントエンドである。2つのファイ
ルを比較して、最初に指定したファイルからどの単語を削除または追加すれば 2 番
目に指定したファイルを得られるかを示す。様々な出力形式をサポートしており、
端末上で、あるいはページャを使って会話的な処理を適切に進めることも可能であ
る。wdiff は、2つのテキストの違いが数単語しかなく、段落が詰め込み直
された場合に非常に便利である。
xboard, xshogi (SrcCD)
xboardは GNU ChessのX Window インタフェースである。
xshogiは GNU ShogiのX Window インタフェースである。
いずれも、R4 Athena ウィジェットと Xt Intrinsics を使って、ユーザとコン
ピュータの対戦、あるいは、コンピュータ同士のゲームを管理して、会話型の審
判を行なう。
また、GNU Chess を使わずに xboardを使うと、ファイル内のゲームを楽
しんだり、手動 (強制モード) でゲームを進めることができる。
この場合に手の評価は行なわない。
xgrabsc (SrcCD)
xgrabsc は xwdに似た画面ダンプ・プログラムであるが、グラフィッ
ク・ユーザ・インタフェースや、ダンプをとる画面を部分的に選択したり、様々な
出力形式 (Postscript、カラー のPostscript、xwd、bitmap、pixmap、puzzle) を
指定する等の方法が用意されている。
Ygl (SrcCD)
Ygl は、ANSI Cコンパイラ(GCCでもOK)の付いているたいていのプラットフォー
ムのX11上で動作するSGI の GL (グラフィック言語)ライブラリのサブセットをエミュ
レートする。
これには、ほとんどの二次元グラフィック・ルーチンや、キュー・デバイス、問い合
わせルーチン、二重バッファリング、ディザー機能付きのRGBモード、FORTRANか
らの呼び出しルーチン、等が入っている。
これは、GNUプログラムやライブラリがそれぞれどのパッケージに入っているのかを 示すリストである。X11と Scheme の配布の中のプログラムは、紙面の都合で、ここ には入っていない。 現在の リストは、GNUのFTPホスト・マシン (section GNUソフトウェアの入手方法)の `/pub/gnu/ProgramIndex' というファイルに入っており、anonymous FTP で入 手可能である。
Free Software Foundation では、ソフトウェアの全ての実行ファイルをおさめ たパッケージを制作するよう再三求められていた。通常、我々はソース・ファイ ルしか提供しない。このデラックス・パッケージには、バイナリ・ファイルにソー ス・コードを付けるだけでなく、6枚のTシャツや、我々が印刷したCD-ROMとマニュ アルとリファレンス・カードの全てを入れている。
デラックス・パッケージ (FSF Deluxe Distribution) には、Emacs、GNU C/C++ コンパイラ、GNU デバッガ、X Window System のフルセット、GNU ユーティリティ を含む数百のありとあらゆるプログラムのバイナリ・ファイルとソース・ファイル が入っている。
どのようなマシンやオペレーティング・システムにも対応したデラックス・パッ ケージを作ることができる。該当するマシンがFSFの事務所の近くになければ、 あなたの所へ人を送ってコンパイルするつもりである。ただし、あなたの指定し たマシンとシステムを既にサポートしているプログラムしかコンパイルすること ができない。つまり、移植作業は別の問題である(移植を委ねたい方は GNUサー ビス名簿の記述 (section フリー・ソフトウェアのサポート)。サポートされてい るプログラムをすべてコンパイルするには時間がかかる。一般的でないマシン用 のデラックス・パッケージでは、よく使われているマシン用のものに比べてさら に制作時間を必要とする。ご質問は FSF 事務所までご連絡いただきたい。
FSFでは、追記型のCD-ROM(「Rock Ridge」拡張を用いたISO 9660形式)か、あるいは
Unix の tar 形式でソフトウェアを次の媒体のうちの 1 つにおさめて提
供している。
1600bpiまたは6250bpiの1/2inオープン・リール・テープ、
QIC-24の Sun DC300XLP 1/4inカートリッジ・テープ、
QIC-150の IBM RS/6000 1/4 inカートリッジ・テープ、
Exabyte の 8mm テープ、
DAT の4mmテープ。現在使用しているマシンでこれらのいずれもが読
めない場合には、我々にご相談いただきたい。
その他にも、Bison、Calc、Gawk、GNU C Compiler、 GNU C Library、GDB、Flex、GNU Emacs Lisp Reference、Programming in Emacs Lisp: An Introduction、Make、 Texinfo、Termcapのマニュアルが1冊ずつ、GNU Emacsのマニュ アルが6冊、GNU Emacs、Bison、Calc、Flex、GDB のリファレンス・カードもそれぞ れ10枚ずつ入っている。 また、どのデラックス・パッケージにも、GNU ソフトウェアのソース・ファイルと システム限定のコンパイラ・ツール・バイナリの入った最新版の CD-ROM が1枚ずつ 入っている。CD-ROMは、Rock Ridge拡張を用いた ISO 9660 形式である。
デラックス・パッケージの値段は(送料込みで) 100 万円である。これは、FSFが より多くのフリー・ソフトウェアを開発できるようにするための莫大な資金援助 方法になっている。パッケージを注文する場合は、 see section Free Software Foundation注文票(日本専用) の「デラックス・パッケージ」に(訳注: 英文表記の楷書で)漏れなく記入の上、 以下の所へ送っていただきたい。
Free Software Foundation, Inc. 59 Temple Place -- Suite 330 Boston, MA 02111--1307 USA 電話番号: +1-617-542-5942 ファクシミリ(日本からも利用可): +1-617-542-2652 電子メイル: gnu@prep.ai.mit.edu
FSFでは、以下に示すCD-ROMを提供している。
FSF提供のCD-ROMは ISO 9660形式で記録されており、ほとんどのコンピュータ上で の読み込み専用のファイル・システムとしてマウントすることができる。ドライバ が「Rock Ridge」をサポートしており、CD-ROM をマウントできるのであれば、ファ イル名も切り詰められないので通常の Unix ファイル・システムとしてアクセスで きるだろう。サポートしていない場合には、通常の ISO 9660仕様に従った短い名前 になるだろう。
ソース・コードを CD-ROM からコピーしないで、CD-ROM の大部分をシステムに組み 込むことが可能である。唯一注意すべき点は、オブジェクト・ファイルや中間ファ イル用にディスク容量だけは十分に確保する必要がある。
Go to the first, previous, next, last section, table of contents.