納得・・・

構文木を使って照合するバージョンを引き続き作業中。今のところ順調。

実は、今のバージョンを作っていて、鬼車やPCREがやっていることの意味がようやくわかりました。

この構文木からバイトコードを作って、仮想マシンに実行させれば私のマクロと同じだ!と一人で感動していたら腑に落ちたのです。

そうか、鬼車やPCRも仮想マシンで動いていたんだ・・・と、今頃やっと理解できました。

「正規表現を実装するにはNFAを使わなければならない」と、かたくなに思い込んでいたためにずいぶん回り道をしたものです。

だから、鬼車のソースを見て「どこでNFAを作っているの?」とありもしないものを探してパニックになって、それで理解できなかったんです。

何か、霧がすっきり晴れた感じです。

とは言っても、仮想マシンバージョンは別な機会にして、取り敢えず、構文木で照合するバージョンの公開を目指して作業します。

コメントを残す

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