ひとまず

節子、それ字句解析やない、構文解析や。

ネタバレになるので読みたくない人はすっ飛ばしてください。

mini-PythonはLL(1)文法になるように設計されているので、基本的に次の文字を見ればその字句がわかると言うようになっています。

mini-Pythonインタープリタ そにょ4 - yuyarinの日記

プログラムの構造的に字句解析と構文解析のフェーズの境目がわかりにくくなっているからか知らないけれど、字句解析と構文解析の概念の切り分けができてないように思う。

ちなみに、1文字だけ先の文字を知りたいならistream#peekとか使えばいいんじゃないかね。