作ってわかるPHP~セルフホストできる言語処理系を作ろう~ by nsfisis

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

作ってわかるPHP~セルフホストできる言語処理系を作ろう~

nsfisis nsfisis nsfisis
4

何らかの技術の理解を深めるのに、最も適した方法はなんでしょうか。
私は、その技術のサブセットを実装することだと信じています。
PHP、ひいてはプログラミング言語というものを理解するために、PHP 言語のサブセットを実装しましょう。
プログラミング言語処理系における「セルフホスト」とは、その処理系のソースコードをその処理系自身が処理できることを指します。つまり、今回作るPHP処理系の上でそのPHP処理系を動かすことを目指します。

話すこと

PHP で書く PHP 処理系(のサブセット)の作り方
必要なソースコードはすべて公開され、このトークを聞かれた方が同じものを作成できるように構成します。

話さないこと

以下は実用的な言語処理系を支える重要な要素ですが、このトークでは意図的に省き、より容易に理解できる手法で代替します。

  • LR 法のような実用的な構文解析手法
  • 仮想機械