はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ Ruby Parser開発日誌

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 12 / 12件)
 

Ruby Parser開発日誌 (18) - Rearchitect Ripper - かねこにっき

2024/02/24 このエントリーをはてなブックマークに追加 12 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき

Rubyのparserを語る上で忘れてはいけない存在としてRipperというライブラリがあります。 RipperはRubyのコードを構文解析するためのライブラリとしてirbやrdocなどで長く使われてきました。 一方でBug #10436のように長い間未解決のバグがあったり、Bug #18988のようにパーサーと挙動が異なる箇所があったりと完璧でない... 続きを読む

Ruby Parser開発日誌 (15) - Ruby の NODE を Union から卒業させた - かねこにっき

2023/12/23 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip node Bison リファクタリング UNION lrama

まもなくRuby 3.3.0がリリースされますね。 LramaによるBisonの置き換え、named referencesによるparse.yのリファクタリングなど、parser本体の大きな改善が入ったバージョンになります。 今回はRuby 3.3向けに行った改善のうち「Rubyの抽象構文木のデータ構造の改善」という内部的な改善を紹介します。 問題の背景 Ruby... 続きを読む

Ruby Parser開発日誌 (14) - LR parser完全に理解した - かねこにっき

2023/12/05 このエントリーをはてなブックマークに追加 14 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき コミッタ CRuby Ruby ターゲット

こんにちはかねこです。私はCRuby(ruby/ruby)のコミッタをやっているのですが、最近はCRubyをメインのターゲットとしてLALR parser generator Lramaの開発をしています。 現役のLALR parser generator開発者として、日頃私以上にLR parserのことを考えている人はそうはいないでしょう。 この記事を読んでいる皆さんは構... 続きを読む

Ruby Parser開発日誌 (11) - RubyKaigi 2023 follow upで進捗について話してきた - かねこにっき

2023/08/27 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき 進捗 Parser RubyKaigi Ruby

8/19に開催されたRubyKaigi 2023 follow upで、Rubyのparserとparser generatorに関する進捗と今後の方針について話をしてきました。 rhc.connpass.com 当日の資料はこちらにアップロードしてあります。 speakerdeck.com 進捗とこれからの話 RubyKaigiでの発表を踏まえて3つの点についてRubyKaigiからの進捗とこれからの... 続きを読む

Ruby Parser開発日誌 (10) - parse.y リファクタリングチャレンジ はじめました - かねこにっき

2023/06/18 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき parse.y スライド 登壇時 前回

前回のあらすじ Ruby Parser開発日誌 (9) - RubyKaigi 2023で発表してきた ~ 世はまさに”大パーサー時代” ~ - かねこにっき RubyKaigiにいってきました。スライドや登壇時の動画は以下のリンクから参照できます。ぜひご覧ください。 rubykaigi.org parse.y リファクタリングチャレンジ "parse.y"を読んでいる時にrb_obj_... 続きを読む

Ruby Parser開発日誌 (9) - RubyKaigi 2023で発表してきた ~ 世はまさに”大パーサー時代” ~ - かねこにっき

2023/05/23 このエントリーをはてなブックマークに追加 12 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき コミッター RubyKaigi スライド 前回

5/10から5/14の5日間、RubyKaigi 2023に参加するために松本市に行ってきました。前回参加したのがRubyKaigi 2019の福岡のときなので、じつに4年ぶりの参加でした。 今回はコミッター/登壇者/LTスピーカーとしての参加になりました。その結果、0日目のDevMeeting含めて3種類のスライドをつくり、3日目の"Ruby Committers ... 続きを読む

Ruby Parser開発日誌 (8) - Universal Parserへの道 - かねこにっき

2023/05/01 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき 道 -

前回のあらすじ Ruby Parser開発日誌 (7) - doについて考える - かねこにっき Rubyのdoのもつ複雑さを中心にMaintainabilityの改善方法について考えました。Practical LR Parser Generationで紹介されているNonterminal attributesというアプローチにprecedence(優先度)をさらに組み合わせることで、lexerの状態として管... 続きを読む

Ruby Parser開発日誌 (7) - doについて考える - かねこにっき

2023/04/09 このエントリーをはてなブックマークに追加 6 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき

前回のあらすじ Ruby Parser開発日誌 (6) - parse.yのMaintainabilityの話 - かねこにっき Rubyのparserの複雑さを分析し、parserとlexerの密結合を解消に挑戦しました。Practical LR Parser Generationという論文を参考に条件付き生成規則をLramaに実装し、Rubyのparserに適用してみましたが一部でconflictが発生してし... 続きを読む

Ruby Parser開発日誌 (6) - parse.yのMaintainabilityの話 - かねこにっき

2023/04/05 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip parser generator 目処 かねこにっき 前回

前回のあらすじ Ruby Parser開発日誌 (5) - Lrama LALR (1) parser generatorを実装した - かねこにっき Error Recoveryを実装するためにLrama LALR (1) parser generatorを実装しました。 Error Recoveryについては目処がたったので今回はparse.yのMaintainabilityをいかにして改善するか考えたいと思います。 parse.y... 続きを読む

Ruby Parser開発日誌 (5) - Lrama LALR (1) parser generatorを実装した - かねこにっき

2023/03/13 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip parser generator かねこにっき

前回のあらすじ Ruby Parser開発日誌 (4) - かねこにっき Error Recoveryに関する理解も深まり、Rubyのparserへ実装するために3つの実装方法を検討しましたが、どれもあまり簡単な方法ではありませんでした。この問題を解決するためにLALR parser generatorを実装したので今回はその紹介をしたいとおもいます。 Lrama LA... 続きを読む

Ruby Parser開発日誌 (3) - かねこにっき

2023/01/12 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき

前回のあらすじ Ruby Parser開発日誌 (2) - かねこにっき Error Recoveryについてまとめました。もう少し詳しくError Recoveryを説明したほうがいいと思ったので、今回は前回の内容を具体例を用いながら解説します。 最初にLR parserの仕組みについて説明し、その後Error Recoveryの仕組みについて説明します。 LR parse... 続きを読む

Ruby Parser開発日誌 (1) - かねこにっき

2022/12/11 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip かねこにっき

Error Tolerant parserに関するアイデア 9月半ばに行われたRubyKaigi 2022以来、3ヶ月くらいError Tolerant parserについて調べたり考えたり実装をしたりしています。 途中でもいいからなにかにアウトプットしておくとよいというアドバイスをもらったので、今現在の状況や考えていることを書いておこうと思います。 Erro... 続きを読む

 
(1 - 12 / 12件)