タグ

2014年11月21日のブックマーク (2件)

  • わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ

    Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。 以下実際にLinuxでコンパイルしてみました。 自己コンパイルできる このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず「cc500_1」という実行ファイルを生成します。 gcc cc500.c -o cc500_1 生成された実行ファイル「cc500_1」を使

    わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ
    zyzy
    zyzy 2014/11/21
    今のコンパイルに使うライブラリを、途中で自分で作って呼び出してるっぽい部分が、アクロバティックすぎて何やってるか分からない……。
  • 天空の城ラピュタ書き出し

    桝田省治氏が30回観れば?と言ったのでやってみる。 ラピュタは小学・中学で幾度か観たし、好きだ。100人中99人とはいかないまでも95人は面白いと言うのではないだろうか。 文中「憎い」は「上手い」とほぼ同義。「ドキ」は「サスペンス」「刺激」と同義。 参考:ぼくらのヒーロー・ムスカ 少年少女の成長 人間は成長を好む。 生物は皆誕生から成熟までの間に成長する。人間の成熟は哺乳類のなかでも遅い。 生物一般では、成長は個体レベルの問題である(進化的階梯の概念を措くとして)が、人間では、記録・文化が蓄積され成長する。人間を書物に喩えると、生物学的に書き込まれた文面にさらに文化的書き込みが行なわれ、余白が埋められあるいはすでにある文が上書きされることで、成熟する。それによって一人前となる。これが重要である。 よって人間は成長を好む。少年少女の成長物語を好む。 立派な大人 立派な大人が入

    zyzy
    zyzy 2014/11/21
    いちいち納得。