PHPでつくるインタプリタ入門 by 清水 陽一郎

PHPerKaigi 2020
採択
2020/02/10 11:25〜
Track A
30分トーク

PHPでつくるインタプリタ入門

budougumi0617 清水 陽一郎 budougumi0617

パーサーやインタプリタを作ってみたいと思ったことはありますか?私はあります。
パーサーを作りコードをパースする一連の流れを実装することで、
コンパイラやインタプリタの気持ちを理解できるようになれば、プログラミング言語に対する距離をより縮められると思っています。
「PHPで何を作ろう?」と思ったPHP初心者の私は、この機会にGo言語のインタプリタをPHPで実装することにしました。

本発表では、PHPでGo言語のインタプリタを作成した話をします。
この発表を通して、以下のことを伝えたいと思います。

  • インタプリタを作ると何が得られるのか?
  • 字句解析、構文解析、評価器とはなにか。それぞれの役割
  • 抽象構文木とPHPでの実装方法
  • デモ
  • 今までGoを書いていたPHP初心者がPHPでインタプリタを書いてみて

対象の言語仕様によってパース処理は異なりますが、インタプリタを実現するまでのステップや流れは同じになるはずです。
この発表を通して聴衆のみなさんが自分の興味がある言語のインタプリタを作り始められるようになるのが、本発表のゴールです。