限定版の正規表現から決定性有限オートマトン遷移表を作る Perl スクリプトの習作集です。正規表現から NFA を作り、NFA から DFA を作るやりかたをしています。 エイホ他「コンパイラ I 原理・技法・ツール」の「3.6 有限オートマトン」と「3.7 正規表現から NFA へ」の 2 節で説明されているアルゴリズムを perl で実装してみました。 ※本版で「3.9 DFA によるパターン照合の最適化」の「DFAの状態数の最小化」を実装しました。DFA->compose($RE) は状態数を圧縮した DFA を返すようになりました。 ソース compact.pl -- DFA 最小化のサンプル・コード。 sample.pl -- サンプル・コード。 DFA.pm -- DFA の遷移表のコンテナ。 NFA.pm -- NFA の遷移表のコンテナ。 FATable.pm -- 上2つ