ZendEngine勉強会に参加してきました。
正直PHPの裏側の話なんてさっぱり解らないけど、主催者知り合いだし、一応Cは書けるし、Lex/Yaccとか使って言語も作ったことはあるので、雰囲気だけでも感じられたらと思って。
発表者の方々は、どの方も説明が上手く、とても難しい内容なんでしょうけど、解ったような気にさせてくれる発表でした。
今回僕がもっとも興味あったのが、PHPの言語を拡張して、Perlみたいな正規表現リテラルと演算子を入れる1にはどういう手段があって、どれくらい大変なのかということだったんですけど、基本的には構文に手を入れるにはエクステンションではなくPHPそのものをいじらなきゃいけないそうで、なかなか大変そうだなということと、でもプリプロセッサみたいなもので単純に文字列を置き換えるくらいのことなら、XHPというFacebookが作ったエクステンションを使えばできるよということで、こちらは導入すると処理が若干遅くなるそうですが、まあ、そんなことでした。
そんなことを神こと藤本氏に話したら、// で囲まれた文字列を新たにオブジェクトとして定義して、それを扱う =~ 演算子を作ってってなるから、ちょっと大変そう。3日はかかるかな。
なんて、あっさり言われたりもしましたが。
さてさて、PHPをyumで管理したりなどしている僕としては、できればエクステンションなんかの形で導入できたら嬉しかったのですが、PHPそのもののソースコードをいじるのかあ。うーん。
まあ、どんな手順でどれくらいのコストかを知れたのは大きな収穫でした。
今回はなんと名刺交換は誰ともしてこなかったのですが、何人か知り合いにも会えて、お互いの近況とか軽く話せたりして良かったです。
- いちいちpreg_matchとかpreg_replaceとか書きたくないじゃないですか。 ↩