PHP 5.5で実装されたジェネレータについて、PHPのソースコードを追いかけてみました。ボチボチ追いかけたつもりですが、間違いや説明不足に気づいた方はツッコミをお願いします。 該当箇所のgithub.comへのリンクも作ってみました。カギ括弧で囲った場所がソースコード断片へのリンクになっていますので、PHPソースコードリーディングに興味がある方はリンク先も参照してください。なぜか5.5.5のタグが切られていなかったので5.5.4が対象です。 ジェネレータ関数の返す値 yield文を含む関数をジェネレータ関数と呼びます。PHPのparse時にyield文が見つかると、「その関数がジェネレータ関数であるというフラグが立てられます」。 ジェネレータ関数は普通の関数と異なり、呼ばれたタイミングでは関数の実行を行いません。代わりに、「ジェネレータ関数に紐付いたGeneratorクラスのインスタンス