こんぱいらぁー

だいぶ前からブックマークに居座っている低レイヤを知りたい人のためのCコンパイラ作成入門をやろうと思い立った。せっかくなので春休みに。

WSLの環境を整備するのがめんどくさいもので、Mingw64で作ることにしてしまった。つまるところ、Windowsの呼び出し規則で書き始めてしまった。そのため、上のリンクに書いてあることとちょっと話が違う。 筆頭は関数の呼び出しのルールで、32byte分(8byte*4)rspを確保しないと行けなかったりするのが地味~にめんどくさい。 さらに、テスト環境がWindowsに固定されてしまった。もしかしたらWine使ったら何とかなったりしないかな。

記録

2024/3/28

このページを作る。ファイルのプロパティによるとこれをやり始めたのは12月の末、真面目に取り掛かり始めたのは2月のはじめらしい。

今は文字列リテラルとかをごにょごにょ。最適化の仕組みを考えるのが楽しい側面はね、ある。

せっかくだから、そろそろgithubに置いておくことにした。

2024/04/03

文字列リテラルができた。HelloWorldに感動したのは久しぶりかもしれない。

2024/06/24

NAILという自作言語とCコンパイラを並行で制作している。Cコンパイラは今構造体を作っている。

NAILに関しては、もしかしなくても中間表現を別で作った方がよさそうだ。LLVM IRとか頼るのは癪だし。