Am29000用CコンパイラとWebブラウザを自作した話
How I developed an Am29000 C compiler and web browser

1998年から1999年にかけて、筆者はAm29000プロセッサを搭載した自作コンピュータ用にCコンパイラとWebブラウザを開発しました。当時は機械語でOSを開発していましたが、その限界を感じ、Cコンパイラのブートストラップに挑戦。トランスピュータ用に開発したコンパイラをベースに、Am29000のレジスタ割り当てを工夫し、DJGPPを使って開発を進めました。本記事では、その開発プロセスと苦労を詳細に語っています。
私はどうしてもコンパイラをブートストラップする必要がありましたが、たった一度の使用のために2つの大きなプログラムを移植する気にはまったくなれませんでした。
- jacquesm
魅力的ですね。DJ Delorieに言及がありますが、彼がどうしているか気になります。彼のおかげでキャリアの大部分を築けました。
これは、私が最近古いOSを復活させたときと同じ道のりをたどっているように読めます。ただ、Oscarは私よりはるかに先へ進み、動くブラウザも書きました。当時のブラウザはもっと単純だったとはいえ、それは非常に印象的です。当時のディスクの束をまだ持っていますが、中身を見るために何とかして読み取る方法を見つけるべきでしょう。
編集:DJ Delorieに短いメッセージを送りました。何年も前から送るべきでした。彼がいなければ、決して成し遂げられなかったでしょう。
- jll29
よくやりました。DJ Delorieへの謝辞(そして元のGCCに対するStallmanへの謝辞)に同意します。
投稿者のコードは10代の割には実際それほど悪くありません。ただし、スペイン語の変数は助けになりません。「[isq]」と「[der]」はおそらく「isqierda」と「derecha」の略で、式の左部分木と右部分木のインデックスを意味しています。
トランスピュータと言えば、Perihelionの創設者であるTim King博士は、トランスピュータ時代のもう一人の大物でした。彼は先月亡くなりました(彼はTriposも書き、それがAmigaDOSになりました)。
- dboreham
この部分はさらに昔の記憶を呼び起こしました:
「最悪なことに、さらに2つのプログラム、FlexとBisonが必要だった。」
80年代初頭、私はCコンパイラを新しいマシンに移植しようと考えていました(K&Rかpccだったか忘れましたが、当時ソースを入手できるCコンパイラはその2つだけでした。法的な問題はさておき...)。ある時点で私は同じことに気づきました:ああ...これには他に2つの大きなもの、yaccとlexが必要だと。コンパイラの「まず魚を捕まえよ」:つまり「まずパーサジェネレータを移植せよ」ということです。