日曜プログラマーの悩みの種は情報不足です。私もそれで悩みました。しかし、「ネットの世界は広大だわ(何からの引用か分かる人には分かります)。」なのです。悩みを解消すべくネット上の入門講座をリンクしまくります。できるだけ単なる説明よりも実験して確認できるチュートリアルを探していこうと思います。できるだけ単純なテンプレートを作って動作確認し、それを膨らませていくのが効率の良いプログラムの勉強の仕方です。
C 言語基礎編 | 信州大学インターネット大学院の教材 |
C 言語応用編 | 信州大学インターネット大学院の教材 |
インターネット大学院カリキュラム | 信州大学インターネット大学院の教材 |
「C言語による最新アルゴリズム事典」サポートページ | 奥村晴彦さんの同書のプログラムがダウンロードできます。 |
私的 GNU マニュアル翻訳プロジェクト | Kazuhisa Ichikawa さんの GNU Manual 翻訳プロジェクト。 |
最適化の為のアセンブラ入門 | Rei Suzuki さんの VC++ のためのアセンブラ入門 |
Using as -- The GNU Assembler | GNU Assembler のネット版 info |
The Executable and Linking Format(ELF) | ELF の構造の解説 |
ELF: プログラマの視点から | Hongjiu Lu 著、Mitsuru Oka 訳。 |
GCC の処理 | GCC の4つの処理過程を覗いてみましょう。 |
フリーソフトをインストールするときにお世話になる make ですが、Makefile の中味は一体どうなっているのでしょうか。
MAKEの第一歩 | make入門。最初に読んで下さい。読むだけでなく実験して下さい。Makefileが作りたくなります。 |
トリビアな makefile 入門 | MAKEの第一歩の次に読んで下さい。 |
GNU Make 日本語訳 | GNU Make のマニュアルの日本語訳。 |
yacc は、電卓プログラムなどを作るときに欠かせない構文解析自動化ツールです。yacc で自動作成されたソースを見ると絶対使いたくなります。
BNF 記法入門(1) | XML関連仕様書を読むための BNF 記法入門 |
BNF and EBNF | BNF 記法入門。 |
Notations for context-free grammars | BNF 記法についての解説。 |
ACEDB日本語ガイド | オブジェクト指向データベースACEDBの解説。BNF記法の活用の実例。 |
yacc入門 | このページに書いてある通りに実験するとyaccの使い方が分かります。 |
Yacc...そして Lex をよみがえらせる | IBM の developerWorks の記事。 |
Yacc入門 | Yacc と Lex によるコンパイラの作成。 |
yacc_sample.tar.gz | Yacc 入門の コンパイルできたサンプル。tar zxvf yacc_sample.tar.gz で解凍し、cd Yacc したあと、flex sample.l、bison sample.y とすると sample.tab.c ができるので、gcc sample.tab.c -o sample でコンパイルします。./sample でプログラムを起動し、コンソールから 1 + 2 * 3 と入力してください。終了は ^D です。make clean とするとソース以外のファイルが消去されるので何回も実験できます。コンパイルは make 一発でもできます。 |
コンパイラ構成論 | 琉球大学の河野真治さんのコンパイラの講義 |
flex は C の字句解析プログラム(スキャナ)を自動生成するプログラムです。bison と組み合わせて使うとインタープリターやコンパイラを作成できます。
Manpage of FLEX | flex の マニュアルページの日本語訳です。 |
FLEX サンプル | Manpage of FLEX のサンプルがそのままではコンパイルできなかったのでコンパイルできるように設定したサンプルファイルです。 |
Flex マニュアル | Flex 2.5 のマニュアルの日本語訳です。 |
m4 は「マクロプロセッサ」です。「マクロプロセッサ」って何をするのと思われた方は次の記事を読んで下さい。
make と m4 によるページの管理 | mikami さんの HTML 書きで楽をする方法の解説。 |
GNU macro processor | GNU m4 マニュアル日本語版。 |