低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 by 長谷川智希

PHP Conference Japan 2025
レギュラートーク(50分)

低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版

tomzoh 長谷川智希 tomzoh
3

CPUやプログラムの実行といったコンピュータの"低レイヤ"を知るためにCコンパイラを作成するのはとても良いアイデアです。

Rui Ueyamaさんの「低レイヤを知りたい人のためのCコンパイラ作成入門」はまさにそんな目的で書かれていて、手順どおりに進めていくだけで演算、変数、関数やポインタなど十分にそれっぽいCコンパイラを作れます。

ですが、このドキュメント、C(言語)でCコンパイラを作っていて、それ自体はごく普通のことですがPHPerにとっては若干ハードルが高いんですよね…。
OK。それならPHPでやってみましょう。

このトークではRui Ueyamaさんのドキュメントに従いながらPHPでCコンパイラを作る方法を基礎から解説します。

・x86マシン語とプログラム実行の基礎知識
・最小限のコンパイラの実装
・ユニットテストを書きながらの1ステップずつの機能追加
・自作したコンパイラで自分自身をコンパイルする"セルフホスト"に向かう道

このトークを聞いた方がご自身でもPHPでCコンパイラを作成し、コンピュータの低レイヤを楽しめる様になることを願っています。