いろいろ
クレバリーがつぶれてしまいました。変わり者キーボードはもう通販で博打るしかないかも、と思うと泣けてきます。
(ま、そうはいっても、最近はキーボードを買いあさっていないのですが)
(トラックボールは基本的には手に入るものは全部買いなので無問題です)
* * *
というわけで、先週土曜にクレバリー参りに行って参りました。そのついでに中古キーボードを見て回ったのですが、そこにならんでいたプリファードがもう Lenovo ロゴなのですよね・・・。それをみて、なぜだかとても寂しくなってしまいました。(それこそ、クレバリー倒産よりも)
わたしも鍵盤愛好者の端くれ、やっぱり鍵盤愛好者にとっては IBM は特別なんだな〜、と、思った次第です。
* * *
最近自動テストのため、Cの関数の仮引数やグローバル変数を解析するスクリプトを書く必要がありました。これらの型を認識して、適当なテストコードを生成するのね。
あんまり工数もないし、まあこの程度ならパーザとかいらないじゃん、split と 正規表現マッチでちょちょちょい、よね?……と手抜きしたら、後から大変面倒な事になってしまいました。
対象の Cファイルは、いっぱいいっぱい、いーぱいあるのですが、その中には
const volatile unsigned * const volatile foo;
とか
typedef int* int_ptr typedef int_ptr array_a[100], array_b[20]; array_a bar; array_b buz;
とか、いろんな意味で本気出し過ぎなコードが地雷のように紛れています。
そういうのがエラーになってファイルを開けるたびに、「う〜〜〜っ」ってなって、小手先で解決してったら、なんかとってもウルトラハッピーな感じのコードに...orz
Cの変数宣言まわりのアレさは重々承知していたつもりだったのですが、油断したなぁ・・というのと、サンプルコード群がこんなに殺意の波動にまみれていたのは、一生の不覚でござったですよ。