パンフ記事(8ページ)

遊んで仲良くなるAST: php-parserを使ってコードを生成してみよう

o0h_ きんじょうひでき

抽象構文木: ASTについて、「名前は聞いたことがあるけど、よく知らない」「ASTを使うことで、何が手に入るのかイメージが掴めていない」なんて人も、多いのではないでしょうか。

「ASTの世界」へ入門してみませんか?
この記事では、「木としてコードを扱うこと」を体感して、読者が「ASTの面白さや可能性にワクワクした!」になることを目指します。
定義や原理の解説よりも、「手を動かしながら、自分で何かを作ってみる」に重きを置いた、ハンズオン形式のアプローチをとります。


扱う内容は、「ASTを活用して、PHPのコードを生成する」です。
PHPでASTを扱うためのライブラリである、nikic/php-parserを利用して、「木を組み上げる」と「コードが出来る!!」を体験しましょう。
終わった時には、関数やクラス定義も、ループや条件分岐も、メソッドの呼び出しも、「全ては木になるんだ!」という気になれるはずです。普段のコードも、少し違った形に見えてくるかもしれません。

具体的な内容:

  1. ごくごく簡単な「ASTとは何か」の説明
  2. nikic/php-parserを動かしてみる・遊んでみる
  3. ASTからコードを生成する