戻り読みの実装完了

少し時間がかかりましたが戻り読みの実装も完了しました。

まだテストは不十分ですが(いろいろなケースで試さないとダメなので)、カンタンな正規表現は普通に動いています。

後実装できてない正規表現は、^ と $ です。

行頭一致と行末一致ですね。実はコレ、見た目ほど実装するのはカンタンじゃないんです。

^a

コレなら話はカンタンですが次のように書かれることがあります。

a|^z

0.9.3では、NFAを生成する段階で ^ や $ が普通の文字かメタ文字かを判断しています。

構文解析だけだと、どこでどうやればいいのか、今悩んでいます。

完全に製作途中ですが、現在のソースはこちらです。興味のある方はどうぞ。

従来のソースからNFAに関するものがなくなり、マッチの中心はTREBinCode.IsEqualになりました。

前より美しいでしょ?

コメントを残す

メールアドレスが公開されることはありません。