2010-03-21

コンパイラが欲しい

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

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

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

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

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

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

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

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

1 comment:

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

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

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.