便宜のために「ライセンス」という項を作りましたが、
ここに書いてあることは信用すべきではありません。
アーカイブやサイトのライセンス原文を読んで自分で確認してください。
アセンブラや、オブジェクトファイルを扱うツール。
具体的には addr2line ar as c++filt gprof ld nm objcopy
objdump ranlib readelf size strings strip の 14 個。
御存知 gcc。「gcc」は昔は GNU C Compiler の略だったのだが
最近はいろいろな言語をコンパイルできるようになったので
「GNU Compiler Collection」の略なんだということにして
辻褄を合わせている。
Minimalist GNU for Windows の略。Minimalist という名前の通り、
GNU のビルド環境のうち最小限のものだけを Windows に移植したもの。
Cygwin か MSYS と組み合わせて使う。
Windows で configure を動かす最小限の環境。
MinGW のためにある。つまりビルドのときだけ使うことが
想定されており、日常生活環境としては使えない (使いにくい)。
そういうのが欲しいなら Cygwin を使うべき。
CVS レポジトリを丸ごと持ってくるツール。使いかたについては
ウェブ上の FAQ や
FreeBSD ハンドブックの CVSup の項を参照のこと。
ezm3
- バージョン
- 1.0
- 作者
- John D. Polstra
- ライセンス
- DEC original (BSD like)
- サイト
- ftp://ftp.jp.freebsd.org/pub/FreeBSD/development/CVSup/ezm3/
- ファイル
- ezm3-1.0-src.tar.bz2, ezm3-1.0-LINUXLIBC6-boot.tar.bz2
cvsup をコンパイルするための最小 modula 3 コンパイラ。
まずブートストラップコンパイラを入れてから、
それを使ってコンパイルすること。
FreeBSD なら ports か package で入れればいいし、
Windows で cvsup は動かないので、
残りのマジョリティを占めると思われる Linux の分だけ
ブートコンパイラも入れておいた。
subversion
- バージョン
- r3200
- 作者
- CollabNet
- ライセンス
- Apache ライセンス
- サイト
- http://subversion.tigris.org/
- ファイル
- subversion-r3200.tar.gz
バージョン管理システム、その 2。
gdb
- バージョン
- 5.2.1
- 作者
- Free Software Foundation
- ライセンス
- GPL2 + LGPL2
- サイト
- http://www.gnu.org/software/gdb/
- ファイル
- gdb-5.2.1.tar.gz
GNU デバッガ。
ctrace
- バージョン
- 0.1
- 作者
- Martin Vicente
- ライセンス
- GPL2
- サイト
- http://vicente.org/ctrace/
- ファイル
- ctrace-0.1.tar.gz
ソースコードを静的に書き換えて
C のプログラムの動的コールグラフを出力するようにする。
ビルド・動作ともに xclib が必要 (下記参照)。
xclib
- バージョン
- 0.3.6
- 作者
- Martin Vicente
- ライセンス
- LGPL2
- サイト
- http://vicente.org/xclib/
- ファイル
- xclib-0.3.6.tar.gz
extended C library らしい。
ctrace の動作に必要なので入れておいた。
strace
- バージョン
- 4.4.1
- 作者
- Wichert Akkerman (current maintainer)
- ライセンス
- BSD style
- サイト
- http://www.liacs.nl/~wichert/strace/
- ファイル
- strace_4.4-1.tar.gz
システムコールトレーサ。
Solaris、Linux、Irix で動く。
global
- バージョン
- 4.5
- 作者
- Shigio Yamaguchi
- ライセンス
- GPL2
- サイト
- http://www.gnu.org/software/global/global.html
- ファイル
- global-4.5.tar.gz
シンボル検索・クロスリファレンス、ソースコードの HTML 化など。
ここに書いた中ではお勧めのツール。
cscope
- バージョン
- 15.3
- 作者
- Santa Cruz Operation, Inc.
- ライセンス
- BSD style
- サイト
- http://cscope.sourceforge.net
- ファイル
- cscope-15.3.tar.gz
ソースコードビューア。Curses ベースのインターフェイスを持つ。
cflow
- バージョン
- 2.0
- 作者
- Andrew Moore
- ライセンス
- Public Domain
- サイト
- http://wh58-508.st.uni-magdeburg.de/sparemint/html/packages/cflow.html
- ファイル
- cflow-2.0.tar.gz
ソースコードを解析して静的コールグラフを出力するツール。
lxr
- バージョン
- 0.9.2
- 作者
- Arne Georg Gleditsch, Per Kristian Gjermshus (original) Malcolm Box (current)
- ライセンス
- GPL
- サイト
- http://sourceforge.net/projects/lxr
- ファイル
- lxr-0.9.2.tar.gz
Linux Cross Referencer。巨大なプログラムのソースコードの
HTML 化その他のためのツール。CGI として動く。
doxygen
- バージョン
- 1.2.18
- 作者
- Dimitri van Heesch
- ライセンス
- GPL2
- サイト
- http://www.doxygen.org
- ファイル
- doxygen-1.2.18.src.tar.gz
JavaDoc みたいに、ソースコードに埋め込んだドキュメントを
整形するツール。オプションでソースコードを HTML 化することが
できるのでなんとなく入れてみた。
cxref
- バージョン
- 1.5d
- 作者
- Andrew M. Bishop
- ライセンス
- GPL2
- サイト
- http://www.gedanken.demon.co.uk/cxref/
- ファイル
- cxref-1.5d.tar.gz
C Cross Referencer。名前の通り、ソースコードから
クロスリファレンスを生成するツール。
GNU indent
- バージョン
- 2.2.8
- 作者
- Jim Kingdon (current maintainer)
- ライセンス
- GPL2
- サイト
- http://www.gnu.org/software/indent/
- ファイル
- indent-2.2.8.tar.gz
ソースコード整形ツール。Linux のドキュメントに
「indent はソースコードのフォーマットは直せるけど
下手なプログラムが上手くなるわけではない」というのがあったような気がする。
……そんなのどうでもいいね。
Perl
- バージョン
- 5.8.0
- 作者
- Larry Wall
- ライセンス
- Artistic ライセンス / GPL
- サイト
- http://www.perl.org
- ファイル
- perl-5.8.0.tar.gz
泣く子も黙る Perl。
Python
- バージョン
- 2.2.0
- 作者
- Guido van Rossum
- ライセンス
- PSF ライセンス
- サイト
- http://www.python.org
- ファイル
- python-2.2.0.tar.gz
泣く子はもっと泣く Python。
Gauche
- バージョン
- 0.6.4
- 作者
- Shiro Kawai
- ライセンス
- BSD style + GPL
- サイト
- http://www.shiro.dreamhost.com/scheme/gauche/index-j.html
- ファイル
- Gauche-0.6.4.tar.gz
Scheme 処理系その 1。名前が明らかに日本人であることから
想像できるとおり初めから日本語処理を考えて作られているので
日常作業用としてもお勧めである。
MIT Scheme
- バージョン
- 7.7.1
- 作者
- Massachusetts Institute of Technology
- ライセンス
- MIT original (BSD like)
- サイト
- http://www.swiss.ai.mit.edu/projects/scheme/mit/
- ファイル
- mit-scheme-7.7.1-src.tar.gz, mit-scheme-7.7.1-doc-html.tar.gz
Scheme 処理系その 2。
SCM
- バージョン
- 5d6
- 作者
- Aubrey Jaffer
- ライセンス
- GPL2
- サイト
- http://www.swiss.ai.mit.edu/~jaffer/SCM.html
- ファイル
- scm5d6.zip, scm.pdf
Scheme 処理系その 3。
slib
- バージョン
- 2d4
- 作者
- Aubrey Jaffer
- ライセンス
- Public Domain + BSD style
- サイト
- http://www.swiss.ai.mit.edu/~jaffer/SLIB.html
- ファイル
- slib2d4.zip, slib.pdf
Scheme の標準ライブラリ。slib にもいろいろな人が作った
バージョンがあるが、ここでは SCM の作者さんが作成したものを
選んでみた。
Guile
- バージョン
- 1.6.0
- 作者
- Free Software Foundation
- ライセンス
- GPL2
- サイト
- http://www.gnu.org/software/guile/
- ファイル
- guile-1.6.0.tar.gz
Scheme 処理系その 4。GNU の Scheme 処理系で、SCM を元にしている。
Emacs Lisp の代わりに Guile でカスタマイズできる
guile-emacs だか emacs-guile ってのもあったような気がする。
と言うより、それこそが Guile の作られた目的であったような気がする。
Revised^5 Report for the Algolithmetic Language Scheme
- サイト
- http://www.schemers.org/Documents/Standards/
- ファイル
- r5rs.pdf
Scheme のデファクトスタンダードとなっている仕様を記述した文書の最新版。
GNU Common Lisp
- バージョン
- 2.30
- 作者
- Bruno Haible, Michael Stoll, et al.
- ライセンス
- BSD style + GPL
- サイト
- http://clisp.cons.org
- ファイル
- clisp-2.30.tar.gz
Scheme ばっかりではなんなので Common Lisp も。
CLOS (Common Lisp Object System) のサブセットも収録されている。
マルチメソッド萌ぇのあなたにお勧め。
SmallEiffel
- バージョン
- -0.74
- 作者
- Dominique COLNET, Suzanne COLLIN
- ライセンス
- GPL2
- サイト
- http://SmallEiffel.loria.fr/
- ファイル
- SmallEiffel-20020507.tar.gz
オブジェクト指向と言えば Eiffel を忘れるわけにはいかない。
バージョンはマイナス 0.74 で、どんどん増えていく (数字は減っていく) らしい。
Hugs98
- バージョン
- 2001-12
- 作者
- Mark P Jones, Alastair Raid, the Yale Haskell Group, and the Oregon Graduate Institute of Science and Technology
- ライセンス
- BSD style
- サイト
- http://haskell.cs.yale.edu/hugs/
- ファイル
- hugs98-Dec2001.tar.gz
関数型言語 Haskell (Haskell98) のインタプリタ。
そろそろ無駄口をたたく (知識の) 余裕がなくなってきた。
Glasgow Haskell Compiler (GHC)
- バージョン
- 5.04.1
- 作者
- The University of Glasgow
- ライセンス
- BSD style
- サイト
- http://www.haskell.org/ghc/
- ファイル
- ghc-5.04.1-src.tar.bz2
関数型言語 Haskell のコンパイラ。
これ自身が Haskell で書いてあるので
ブートストラップコンパイラがないとコンパイルできないのだが、
かなり巨大なのでそこまでは収録できなかった。サイトから
各自ブートストラップコンパイラのバイナリを追加でダウンロードして
コンパイルしてほしい (最初からバイナリを落とせば済むような気もする)。
Happy
- バージョン
- 1.13
- 作者
- The University of Glasgow
- ライセンス
- BSD style
- サイト
- http://www.haskell.org/happy/
- ファイル
- happy-1.13-src.tar.gz
Haskell 用のパーサジェネレータ。GHC でコンパイル。
Objective Caml
- バージョン
- 3.06
- 作者
- Institut National de Recherche en Informatique et en Automatique (INRIA)
- ライセンス
- Q Public ライセンス + GPL2
- サイト
- http://caml.inria.fr
- ファイル
- ocaml-3.06.tar.gz
standard ML のオブジェクト指向拡張で、インタプリタとコンパイラの両方が入っている。
言語間の速度比較のページではぶっちぎりのトップであった。
SWI-Prolog
- バージョン
- 5.0.10
- 作者
- Jan Wielemaker
- ライセンス
- GPL2 + LGPL2
- サイト
- http://www.swi-prolog.org
- ファイル
- pl-5.0.10.tar.gz
Scheme、Common Lisp、Haskell、OCaml と来たら Prolog しかないでしょ。
論理型言語 Prolog のインタプリタ及びコンパイラ。
CU Prolog
- バージョン
- 3.94
- 作者
- Institute for New Generation Computer Technology
- ライセンス
- BSD like
- サイト
- http://www.icot.or.jp/ARCHIVE/Museum/IFS/abst/009-J.html
- ファイル
- cu-prolog.tar.gz, cu-prolog-doc.tar.gz, cu-prolog-linux.diff
Prolog をもう一発。
噂の「第五世代」で開発された Prolog インタプリタである。
Linux でコンパイルするときは一緒に入れておいたパッチが必要。
GNU Forth
- バージョン
- 0.5.0
- 作者
- Free Software Foundation
- ライセンス
- GPL2
- サイト
- http://www.gnu.org/software/gforth/
- ファイル
- gforth-0.5.0.tar.gz
GNU の Forth インタプリタ。
GNU GhostScript
- バージョン
- 7.05
- 作者
- Aladdin Enterprises
- ライセンス
- GPL2
- サイト
- http://www.ghostscript.com
- ファイル
- ghostscript-7.05.tar.gz
「PostScript だって立派なプログラミング言語さ!」
というかなり無理のある論理により収録。
また「GhostScript はソースコードがきれいだよね」という
話をよく聞くので、参考になるかもしれない。
GC
木山版 世代別 GC パッチ、1.7 用
- 作者
- 木山真人
- ライセンス
- Ruby style
- サイト
- http://ruri.csys.ce.hiroshima-cu.ac.jp/~masato/
- ファイル
- generational-gc-1.7.1.diff
木山真人さんによる、ruby 1.7 への世代別 GC パッチ。
木山版 世代別 GC、論文
- 作者
- 木山真人
- サイト
- http://ruri.csys.ce.hiroshima-cu.ac.jp/~masato/
- ファイル
- generational-gc-thesis.ps.gz
その論文。
Boehm-Demers-Weiser Garbage Collector (Boehm GC)
- バージョン
- 6.0
- 作者
- Hans J.Boehm, Alan J. Demoers, et al.
- ライセンス
- BSD like
- サイト
- http://www.hpl.hp.com/personal/Hans_Boehm/gc/
- ファイル
- gc-6.0.tar.gz
C、C++ 用の、incremental で generational で conservative な GC。
本編では単に Boehm GC と書いたが本当は
Boehm-Demers-Weiser Garbage Collector が正しい。
具体的な使用例としては w3m などがある。
KSM
- バージョン
- 0.3.2
- 作者
- Hangil Chang
- ライセンス
- GPL2
- サイト
- http://square.umin.ac.jp/~hchang/ksm/
- ファイル
- ksm-0.3.2.tar.gz
Scheme 処理系その 5。
GC のアルゴリズムが独特なので参考に入れておいた。
パーサ
byacc
- バージョン
- 1.9
- 作者
- Tom Corbett
- ライセンス
- Public Domain
- サイト
- ftp://ftp.cs.berkeley.edu/pub/4bsd/
- ファイル
- byacc.1.9.tar.Z
Berkeley yacc。Bison より圧倒的に小さいので読むには
こちらのほうがいいかもしれない。
Racc
- バージョン
- 1.4.3
- 作者
- 青木峰郎
- ライセンス
- LGPL2
- サイト
- http://i.loveruby.net/ja/prog/racc.html
- ファイル
- racc-1.4.3-all.tar.gz
拙作 Ruby yacc。先読みアルゴリズムは bison と同じ。
nodeDump
- バージョン
- 0.1.7
- 作者
- Pragmatic Programmers
- ライセンス
- Ruby style
- サイト
- http://www.pragmaticprogrammer.com/ruby/downloads/nodeDump.html
- ファイル
- nodeDump-0.1.7.tgz
本書では改造版を使った nodedump のオリジナル。
組み込み ruby
mod_ruby
- バージョン
- 1.0.1
- 作者
- 前田修吾
- ライセンス
- BSD style
- サイト
- http://www.modruby.org
- ファイル
- mod_ruby-1.0.1.tar.gz
ruby を Apache のモジュールとして使えるようにしたもの。
CGI を起動するときの fork を省けるから速くなるという理屈だ。
ActiveScriptRuby
- バージョン
- 1.0.9.4
- 作者
- arton
- ライセンス
- GPL
- サイト
- http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
- ファイル
- RScript16Src.zip
Ruby から COM オブジェクトをいじるのが Win32OLE。
COM オブジェクトから Ruby をいじるのが ActiveScriptRuby。
ちなみにビルドには Visual C++ 6.0 SP5 と Windows 2000 SDK が必須なので、
単に使うだけなら元のサイトからバイナリを持ってきたほうが楽である。
これはあくまでも中身を見るために入れただけだ。
Rubyの別実装
JRuby
- バージョン
- 0.5.3
- 作者
- Jan Arne Peterson
- ライセンス
- GPL2
- サイト
- http://jruby.sourceforge.net/
- ファイル
- jruby-bin-0.5.3.tar.gz, jruby-src-0.5.3.tar.gz
Java で書いた Ruby インタプリタ。
Ruby.NET
- バージョン
- -
- 作者
- arton
- ライセンス
- LGPL
- サイト
- http://sourceforge.jp/projects/netruby/
- ファイル
- netruby-snap.tar.gz
C# で書いた Ruby インタプリタ。これは公式リリースではなく、
筆者が SourceForge からチェックアウトしたスナップショットである。
Rubyリファレンスマニュアル
- バージョン
- 1.6.8
- 作者
- Rubyドキュメンテーションチーム(仮称) (執筆)、青木大輔 (HTML版作成)
- サイト
- http://www.ruby-lang.org/ja/man-1.6
- ファイル
- ruby-refm-rdp-1.6.8-ja-html.zip, ruby-refm-rdp-1.6.8-ja-htmlhelp.zip
リファレンスマニュアル最新版。
-html が HTML 版、-htmlhelp は Windows の HTML Help 版。
ライセンスは特に書いていないですが自由に配布可能です。
また拡張ライブラリの API リファレンスは
付録の「Ruby Documentation Project」→
「拡張ライブラリリファレンスマニュアル」と
辿ったところにあります。
ReFe
- バージョン
- 0.5.2
- 作者
- Minero Aoki
- ライセンス
- LGPL2
- サイト
- http://i.loveruby.net/ja/prog/refe.html
- ファイル
- refe-0.5.2.tar.gz
拙作のリファレンス索きツール。
Copyright (c) 2002-2006 Minero Aoki, All rights reserved.