Adaptive Parser
で検索するとなんか自然言語処理の論文がひっかかるのでなかなか見つからない.
やりたいことは:
(ab (bc cd) def)
を
(ab (b c cd) def)
に変えたとき
(b c cd)
の部分だけを再パースして,その前後はパースをやり直さない,というもの.
前回のライブラリを使ったものの,変更した部分の後ろ全部,つまり
c cd) def)
を全部やりなおしているみたいだ.
この話が難しいのは
(ab (bc cd) def)
を
(ab (bcc cd) def)
にしたときは, bcc の部分だけしかパースする必要がない,という具合に,挿入箇所だけでなく,挿入された文字種類によっても再パースする範囲がかわるという点.