PHPカンファレンス関西2024
レギュラートーク(40分)

オレオレ電卓を作って理解する抽象構文木(AST)

m3m0r7 めもり〜☆ m3m0r7
5

時折聞く抽象構文木。Abstract Syntax Tree (AST)とも言いますが,実際にはどういうものを指すのかイメージがつかない方もいらっしゃるかもしれません。PHP において様々なライブラリに利用されている nikic/PHP-Parser が AST の一つの例です。
そして AST はプログラミング言語を作る上では欠かせない概念です。しかし「プログラミング言語を作る」となるとハードルが上がってしまうと感じてしまいます。
実は AST 自体はそこまで難しい概念ではありません。そしてプログラミング言語を作るにとどまらず,AST を用いれば電卓を作ることもできます。そこで,本トークではプログラミング言語を作ってみたい初心者に向けて,AST とはどういうものか,PHP を題材としてオレオレ電卓を作りながら解説します。