#あすみかんの上にあすみかん

たのしいことしかかかないことをここに決意します

低レイヤを知りたいPHPerのためのCコンパイラ作成入門 / #phpcon_odawara セッションをふりかえる

adventar.org

これは、asumikam #phpcon_odawara Advent Calendar 2025の11日目の記事です🎄

スライド

speakerdeck.com

感想

このセッションは「PHPでCコンパイラを作ってみた軌跡」であり、どのように実装していくか、どこに難しさがあるかを話すという内容でした。 なんというか、PHP界隈(の一部?w)では低レイヤが流行っている感じがします。 自画自賛ですが、アプリケーションのソフトな設計の話から低レイヤまであってPHPカンファレンス小田原ってすごいな、と思いました。

www.sigbus.info

上記を参考にPHPトークナイザ・パーサ・コードジェネレータを書き換えていったそうです。 トークナイザやコードジェネレータはなんとなく想像がついていたのですが、その間の「パーサ」をどう作っていくかを詳しく話してくれたのが、個人的にすごく助かりました。

ここで手法としてEBNFが出てきたのですが、前職でドメインルールを整理する際に「これで分解できないか」と試したことがあったので、当時の体験と一気に繋がり個人的に面白かったです。 また、いろんなところででよく耳にする「AST(抽象構文木)」も、これまでは「なんとなくは分かるけど、結局どこで使うんだっけ」というような距離感でした。それが今回、コンパイルを実現するための一連の流れとして登場したことで、かなりスッキリしました。

これマジで気が遠くなるほど実装項目がありそうですが、うまいところで区切って形にしていくところの巧さ、何より泥臭い実装の先にある楽しさが伝わってくる発表でめちゃくちゃよかったです。

ストーリーの作り方がうまいのでとてもわかりやすく、これを20分で話し切るの素晴らしい発表技術と感じましたw

長谷川さん、登壇ありがとうございました🚗💨

ぷろも〜しょん

PHPカンファレンス小田原2026はスポンサーを募集しています!

竹が残り僅か、梅が余裕あり、といった状況です。 スポンサーお待ちしています🙏🙏🙏

fortee.jp