OneLang32/OneLang32Console(0, 0, 0, 5/Nishi-Funabashi #5) -スペースもトークンすることにした.

当初は、スペースは読み飛ばすことも考えていたが、ダブルクォートなどの中のスペースは消失させてはいけないし、今後の機能の充実を考えると、スペースをトークンとすることが必要になったので、そのように修正した。

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>

スペースもトークンのひとつとなる。

-スペースもトークンすることにした. · bg1bgst333/OneLang32@0e4a619 · GitHub