2010-03-21

コンパイラが欲しい

C++0xの完璧なコンパイラが欲しい。いや、完璧でなくても構わない。エラーメッセージが不完全でもいいし、一部の機能を実装していなくても構わない。ただ、C++0xのコア言語機能を、ある程度パースできるコンパイラがほしい。

とりあえず、いますぐ欲しい実装は、attributeとconstexprだ。この二つは、少々複雑なので、是非とも、検証用のコンパイラが欲しい。

と思ったら、gccが、constexprキーワードだけ、受け付けるようだ。実装されていないが。

アトリビュートが問題だ。

どのように書くかは、規格を読めば分かる。しかし、typoがないかどうかを、脳内コンパイラで判断するのは危険だ。

問題は、gccは、かなりの独自拡張があるということだ。-std=c++0xを指定しても、どうも拡張機能が無効にならない。嗚呼、なぜ世の中には、まともなC++コンパイラがないのか。Clangは、期待してもいいのだろうか。

参考:プログラミングテクニック番外編

目グレップ(目grep)
現場デバッグなどの局面で、普段と異なる環境で使われるテクニックのひとつ。これは,grepをプログラマ自身がエミュレートするテクニックで、柔軟な非正規表現を使った検索が実行できる。まれにマッチングに失敗する。
手セド(手sed)
手作業で単純かつ多量な文字列置換を行う事。 置換機能の貧弱な環境に於いてしばしば利用される。 柔軟な半面、信頼度に欠ける。

1 comment:

Anonymous said...

以下のような展開を期待してます

コンパイラが欲しい
→コンパイラを作りたい
→コンパイラを作らねばならない
→コンパイラを作った
→標準化委員会でデモしたい
→標準化委員会でデモしなければならない
→標準化委員会でデモした
→上記の過程を雑誌で連載したい
→上記の過程を雑誌で蓮蕾しなければならない
→上記の過程を雑誌で連載した
→雑誌の連載を書籍化したい
→雑誌の連載を書籍化しなければならない
→雑誌の連載を書籍化した