一体何をしたくてboost::spiritをいじっているのか、
なんでpull parserが必要と結論したのか、
全く以って意味不明。

パーサの状態を記録/復元可能にしたいなら、
再帰下降ではなく、状態管理可能な状態遷移マシンを用意して
その上で入力、遷移状態、出力を記録してけばいいだけだろ。