タグ

言語とCに関するTomosugiのブックマーク (1)

  • セルフホスティングCコンパイラを書いた - 茅の下

    セルフホスト(自分自身をビルド)できるCコンパイラnoccを書きました。 github.com はじめに 去年の夏あたりからCコンパイラを書くのが流行っていたのでやってみました。 例によって@rui314さんの8cc、9ccと低レイヤを知りたい人のためのCコンパイラ作成入門を参考にしていますが、バックエンドにはLLVMを使用しています。 工夫した点 以下、作る上で工夫した点です。 言語仕様に制限をつける C言語の全仕様を網羅しようとすると到底完成は不可能なのでサポートする言語仕様に制限をつけまくりました。 制限には例えば以下のようなものがあります。 変数宣言が初期値を取れない。 複数の変数をコンマ区切りで宣言できない。 typedef宣言や型のconst修飾などはその語順を固定している。 型解析時は型のconst修飾を無視する。 関数のプロトタイプ宣言はトップレベルでのみ行える。 関数ポイ

    セルフホスティングCコンパイラを書いた - 茅の下
  • 1