プログラミング言語を実装したことはありますか?
本トークではPHPでPHPを実装していくことで、プログラミング言語が動く仕組みを紹介していきます。
静的解析でもよく利用されているnikic/PHP-Parserを使うと、字句解析・構文解析をパスして処理部分に集中してPHPを実装できます。
PHPを再実装するだけではなく処理内容を変えて「自分だけのPHP」を実装することもできちゃいます。
また、プログラムを表現するオブジェクトであるASTを扱えるようになると、静的解析などWebサービス開発の幅も広がります。
例えば、PhanやPHPStanなどの静的解析ツールやそのプラグインを自作できるようになったり、より堅牢なPHPの世界を作ることができます。
本トークではプログラミング言語を実装する楽しさを伝えるとともに、ASTに慣れ親しむきっかけになれば良いと思います。