タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

RubyとParserとPrismに関するYassLabのブックマーク (7)

  • Herb - Powerful and seamless HTML-aware ERB parsing and tooling. | Herb

    HTML-awareIntelligently recognizes and navigates HTML structure within ERB templates, ensuring precise parsing across interleaved markup and Ruby code. Built on PrismPowered by Prism, Ruby's new official default parser as of Ruby 3.4. Prism is designed to be error-tolerant and is adopted by major Ruby runtimes including CRuby, JRuby, TruffleRuby.

    YassLab
    YassLab 2025/09/27
    “Powerful and seamless HTML-aware ERB parsing and tooling. Next-generation HTML+ERB parsing ecosystem for smarter developer tooling.”
  • Ruby 3.4正式リリース。YJITコンパイラの速度向上とメモリ削減、新パーサPrismがデフォルトに

    Ruby開発チームは2024年12月25日、Ruby 3.4.0の正式リリースを発表しました。 Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっており、2024年も予定通りに新バージョンが登場しました。 Ruby 3.4ではJITコンパイラとして搭載されているYJITの速度向上と使用メモリ削減が実現されました。 Ruby 3.1でメインラインにマージされたYJITコンパイラは、ECサイト構築サービスを提供するShopifyが、大規模なRailsアプリケーションにおいてより高い性能向上を目指して開発したJITコンパイラです。 Ruby 3.4でのYJITは、x86-64とarm64の両方のプラットフォームにおいてほとんどのベンチマークのパフォーマンスが向上したこと、メタデータの圧縮と統一的なメモリ使用量制限によりメモリ使用量が削減されたことが報告されています。 「it

    Ruby 3.4正式リリース。YJITコンパイラの速度向上とメモリ削減、新パーサPrismがデフォルトに
    YassLab
    YassLab 2025/01/07
    "書きかけのコードのような不完全なコードであっても可能な限り解析できるエラートレラント性、様々な実装において利用しやすいような移植性、長期的に使い続けられるようなメンテナンス性のそれぞれを十分に満たす"
  • RubyKaigi2024に参加してきました⛱️

    2024年5月15〜17の3日間、沖縄県那覇市で開催されたRubyKaigi2024に参加してきました! 今年も楽しかったですね・・・! だいぶ間が空いてしまいましたが、聴講したトークや思ったことなど書いてみました。 トーク感想 Day1 The grand strategy of Ruby Parser by Yuichiro Kaneko 発表資料 Ruby3.3で導入されたパーサージェネレータであるLramaについて、どんなものなのか、それがなぜ選ばれたのか、そして現在のRubyのパーサ周りの開発がどのような状況かといった内容でした。 まずここでいうパーサとは、Rubyのコードを解釈してASTとして出力するためのものです。 出力されたASTは、主にLSPのような開発支援の外部ツール等で使われます。 Ruby3.3では、それまでのBisonに代わってLramaというRubyで書かれた新

    RubyKaigi2024に参加してきました⛱️
    YassLab
    YassLab 2024/06/04
    "2024年5月15〜17の3日間、沖縄県那覇市で開催されたRubyKaigi2024に参加してきました!今年も楽しかったですね・・・!だいぶ間が空いてしまいましたが、聴講したトークや思ったことなど書いてみました。"
  • Prism in 2024

    In Ruby 3.3.0, a new standard library was added to CRuby called Prism. Prism is a parser for the Ruby language, exposed as both a C library (optionally usable by CRuby) and a Ruby library (usable as a Ruby gem). The Prism project represents many person-years worth of effort, and is the result of a collaboration between Shopify, CRuby core contributors, other Ruby implementation authors, and Ruby t

    Prism in 2024
    YassLab
    YassLab 2024/04/30
    “LRama was a significant shift in the maintenance of the CRuby parser. Because the entire parser generation pipeline was now controlled by CRuby, it became possible to modify the grammar file in ways that were not previously possible with Bison. ”
  • Ruby のメソッド定義時に仮引数があるとき、それをカッコでくくらないのは私だけなの? - STORES Product Blog

    テクノロジー部門で Ruby インタプリタの開発をしている笹田です。RubyKaigi 2024 楽しみですね。 さて、Ruby のメソッドを定義するとき、仮引数がある場合、カッコを省略することができます。 def foo(x, y) end def bar x, y end bar の定義の方法ですね。私は好んでこの書き方をしてたんですが、同僚の遠藤さんに「そんな書き方をしているのは今時笹田だけだ」と言われてショックを受けたので、ちょっと調べてみました。 ちなみに、カッコがないと使えないメソッド定義の方法があるので、その時には涙を呑んでカッコをつけます。 def foo(kw:) # 必須キーワード引数 end def bar(&) # 無名ブロック引数 end 補足1:Ruby では「メソッド呼び出し時にカッコをつけるかどうか」にいろいろな論争がありますが、ここでは「メソッドを定義する

    Ruby のメソッド定義時に仮引数があるとき、それをカッコでくくらないのは私だけなの? - STORES Product Blog
    YassLab
    YassLab 2024/04/12
    "調査にはPrismを使ってみました。Prismいじってる遠藤さんに使い方を聞けたということもあるんですが、簡単に調査スクリプトが作れてよかったです。というかlparen_locメソッド (仮引数をくくるカッコの位置) とかすごいな"
  • Prism

    This deck presented the prism parser as Ruby World 2023.

    Prism
    YassLab
    YassLab 2024/01/28
    “This deck presented the prism parser as Ruby World 2023.”
  • 新しいRubyパーサーPrism利用時の開発体験の変化

    この記事で扱っていること 記事ではRuby 3.3で導入されたPrismという新しいパーサーについて扱っています Prismが持つ「パース時に問題が発生した場合でも可能な限り意味のある結果を返却する」という機能に着目して下記について話します Rubyを記述する際の開発者体験がどれくらい向上しているのか? 「可能な限り意味のある結果」をどうやって組み立てているのか? 最後に主テーマから外れますが、Prismの動かし方についても話しています はじめに こんにちはウォンテッドリーで推薦基盤の改善をやっているnasaです 去年の12/25にもRubyの最新バージョンがサンタさんから届きました。https://www.ruby-lang.org/ja/news/2023/12/25/ruby-3-3-0-released/ 最新バージョンのRuby 3.3.0ではPrismという新しいパーサーが導

    新しいRubyパーサーPrism利用時の開発体験の変化
    YassLab
    YassLab 2024/01/28
    “では、なぜ新しいパーサーが必要だったのでしょうか? Prismは下記の3つが開発のモチベーションとなっています: エラートレラント, ポータビリティ, メンテナンス性. それぞれ少し詳しく書いていきますね。”
  • 1