何らかの技術の理解を深めるのに、最も適した方法はなんでしょうか。
私は、その技術のサブセットを実装することだと信じています。
PHP、ひいてはプログラミング言語というものを理解するために、PHP 言語のサブセットを実装しましょう。
プログラミング言語処理系における「セルフホスト」とは、その処理系のソースコードをその処理系自身が処理できることを指します。つまり、今回作るPHP処理系の上でそのPHP処理系を動かすことを目指します。
PHP で書く PHP 処理系(のサブセット)の作り方
必要なソースコードはすべて公開され、このトークを聞かれた方が同じものを作成できるように構成します。
以下は実用的な言語処理系を支える重要な要素ですが、このトークでは意図的に省き、より容易に理解できる手法で代替します。