本リポジトリは書籍『Ruby でつくってまなぶ 正規表現エンジン』で解説されているソースコードです。
本リポジトリの各ディレクトリはそれぞれの章に対応しています。
- ch01/ — 『第1章 はじめに ── 正規表現エンジンの役割と本書で作るもの』
- ch02/ — 『第2章 完全一致 ── もっともシンプルなマッチング 』
- ch03/ — 『第3章 リテラル文字の連結 ── AST の導入 』
- ch04/ — 『第4章 選択(|)の実装 ── 複数パターンへの対応 』
- ch05/ — 『第5章 NFA の導入 ── 非決定性有限オートマトン』
- ch06/ — 『第6章 グループ化 ── 括弧による優先順位制御 』
- ch07/ — 『第7章 DFA への変換 ── 決定性オートマトンによる高速化』
- ch08/ — 『第8章 繰り返し(*)── 0 回以上のマッチング』
- ch09/ — 『第9章 その他の繰り返し(+, ?)── 量指定子の拡張』
- ch10/ — 『第10章 エスケープシーケンスと改善のアイデア ── 完成とその先へ』
書籍で解説されていない実験的なコードや最新の変更はhoozukiリポジトリに存在します。
もしプログラム中に問題を見つけた場合は、Issuesに報告をいただけると嬉しいです。