RubyのParser周りの動きを追っかけた - komagataのブログ

parse.yは大幅に変えずにbisonをlramaに切り替えられたってこと?

ちょっと前になっちゃうのですが、STORES Tech Conf 2024に参加しました。

席についた時、たまたま隣がkanako.yさんで、「あ、隣kanakoさんだ」と思ってたんですが、

見ていた発表が終わってkanekoさんが、

「(lramaは)parse.y、bisonと互換性あるので読めますよ」

と言って立ち去りました😆

疑問点が作者本人によって解決するとは思いませんでした。

しっかし、その方法ってparse.yが変わらないわけだから、マルっと変えちゃうよりもこれまでrubyを開発してる人大満足の方法だなと思いますが、僕にとっては、

「理屈はわかるけど現実的に可能ものなの?」ってレベルの難しさ・大変さな感じでびっくりです。凄すぎ。

prismは"A new compiler for CRuby 3.3+"と書いてあるけど、YJITと競合するってこと? https://speakerdeck.com/kddnewton/why-prism?slide=32

こちらの方はアフターパーティーで@joker1007さんに教えてもらいました。

prismはデータ構造を変えてるので、その部分をVMへのバイトコードにコンパイルする部分は自前で用意する必要がある(用意してる)のでその辺りのことを示してるそうです。

お二人に感謝です。やっぱりイベント行くとお得なことがありますね〜。

Comments


Option