虚無庵

徒然なるままに

Fukuoka.rb #234 を開催した && Fukuoka.rb ロゴコンペ開催のお知らせ

www.youtube.com

詳細はこちらを参照してもらうとして、募集期間は以下のようになっています。

  • 応募受付開始日
    • 2021 年 11 月 18 日 より、投票期間前まで
  • ロゴ+プレゼンテーション提出締切日
    • 2022 年 1 月 31 日
  • 投票期間
    • 2022 年 2 月 1 日 〜 2022 年 2 月 16 日

皆様、奮ってご応募ください。

fukuokarb.connpass.com

今回やったこと

  • Ruby パーサーについてご意見をいただいた

Ruby パーサーについてご意見をいただいた

久しぶりに nagachika さんが参加してくださり、Ruby パーサーについてご意見をいただいた。

Ruby パーサーについては以下を参照してください。

jinroq.hatenablog.jp

「そもそも、なんで Ruby パーサーに興味もったん?」と聞かれたので、「どうにかしないといけないという問題意識はあるものの、誰も手を付けようとしないし、このままだと Ruby が本当に死ぬと思ったから」みたいなことを答えた。気持ち的には↓の「大江戸 Ruby 会議 09 出前 Edition に参加した」項目で書いている通りです。

jinroq.hatenablog.jp

話を戻すと、いただいたご意見をまとめるとこんな感じ。

  • 兎にも角にも「parse.y の何が問題なのか」を整理する必要があると思う*1
  • parse.y が parse.y というフォーマットであることが問題
    • Bison から PEG に変わったからといって「じゃあ、メンテナンスするモチベーションが湧くか」と言えばそうではない*2
  • lexer が状態をいっぱい持っているのも何かやだ
    • lexer のアクション部分をパーサーで変えているのは結構な力技
  • 今の parse.y に Bison 用と Ripper 用のものがある
    • Bison だけ変更され、Ripper 用と機能差が出るのも保守の難しさにつながっている

まずは bugs.ruby-lang.org に起票できる形まで落とし込みたい。

次回

fukuokarb.connpass.com

次回はぎゃざります。

少し私物化してる感があるが、たまに一人で佇んでいるので「甚六と雑談してやってもいいぜ」という方は、気合でこっそり俺にパスワードを聞きに来てください。

ちなみに

今年も無事に脆弱性を突きました。せっかくなので初めて乞食リストを作りました。よろしくお願いします(?)。

www.amazon.jp

*1:RubyKaigi Takeout 2021 で akr さんも同様のことをおっしゃっていた

*2:Python はパーサーを PEG に置換した