当初は、スペースは読み飛ばすことも考えていたが、ダブルクォートなどの中のスペースは消失させてはいけないし、今後の機能の充実を考えると、スペースをトークンとすることが必要になったので、そのように修正した。
LexicalAnalyzer.cppで、
スペースの時は、それまでの文字列があるならトークンリストに追加して、さらにトークンリストに"<Space>"を追加する。そして、トークンは空の状態にリセットする。
これで、test.1の字句解析をすると、
C:\Project\Cloud\github.com\OneLang32\debug console>OneLang32Console.exe test.1 argv[1] = test.1 CLexicalAnalyzer::Analyze! ----- start ----- ho + ge foo b/ar ABC / XYZ ----- end ----- ho <Space> + <Space> ge <CR> <LF> foo <Space> b / ar <CR> <LF> ABC <Space> / <Space> <Space> XYZ C:\Project\Cloud\github.com\OneLang32\debug console>
スペースもトークンのひとつとなる。