Perl5の構文木をParrotコードへ(というアイデア)

B::DeparseはPerl5の構文木からPerl5コードを生成するトランスレータであると言える。この場合は生成するコードはPerl5なので「トランスレータ」にはあまり見えないが、変換先は別の言語であってもいい。というよりは、もともとはPerl5の構文木からCのコードを生成するのが主要な目的の一つだったはずである。

つまり、Perl5 on Parrotの実装として、Perl5のBモジュールのコンパイラバックエンドの一つとしてParrotコード生成器を作るということも可能ではないかと思われる。「perlバイナリだけがPerl言語を構文解析できる」といわれるように、Perl構文解析はとても難しいのだが、perlバイナリを使えばそれができる。

まだ思いついただけのアイデア段階だが、これは面白そうだ。