専攻科実験で、「字句解析と構文解析で電卓プログラムを作ろう」というネタを実施中。サンプルプログラムを見せて、課題の1つが「式を読みやすくするための空白が使えるように改良」としているが、学生さんより、『最初に空白を全部消してから処理するのはアリ?』との質問。動くプログラムをつくってくれればいいけど....でも、空白を先に全部消してから、トークン切り出しをやると、色々とトラブルが起こる。;昔、私が学生の頃に使ったCコンパイラは、"+="演算子を、"=+"と書いても良かった。1"と誤認され、プログラムがバグった。この経験以降、代入文の"="の前後とかややこしい演算子の式で、空白を適所に打たないヤツはシロウト判定している。((例2))C++でのテンプレートクラスでは、<>の中に型を書いたりするけど、Foot<int>といった型も出てくる。いった型を使う場合がある。空白除去後に字句解析をすると、Foo<Bar<int>>となり、右シフト演算子になる。・C++03までは、テンプレートの">"の前後には空白を入れるべき。11月12日に完成し通過ができるようになった。これで越前市方面から高専への便利な道が完成となった。今朝子供を高校に送る際、早々にも渋滞してる。これからは、もう5分早く出なければ....。雪も積もるようになったら、さらに渋滞するだろうな...。