isdigitとisalphaには、nilの場合、falseを返しました。変数は基本、グローバルです。参考書ではそうなってます。が理由ですが、必要でないかも知れません。
”Others"となっている部分があり、不明でした。”EofToken"に換えたら、最後に不明の10がでなくなりました。def next_tokenはif分だらけの、少し長めです。
main部分です。
実行は参考書と同じですので、トークン解析が終わりました。オブジェクトは一個しか作ってないようです。配列でも作ってそうですが、そうではないようです。配列にするのは簡単かもしれません。tokenとcodeをappendすればいいだけでしょう。appendでなく、pushでした。それより<<の方が、間違わないかも知れません。