2008-11-01から1ヶ月間の記事一覧

C++0xのaxiom

今まで見逃していたけれども, こんなものが追加されるのか! a + b == b + a; (a + b) + c == a + (b + c);みたいな論理的な性質を型に与えることができるという仕様。Haskellのrewrite rulesを連想したが論文を見つけた。 Axiom-Based Transformations: Opti…

C++0xのCommittee Draftへのコメントへのコメント

コメント一覧を一通り読みましたが, 来週の会議には後半から3時間くらいしか出れないので今の内にコメントを書いておきます。 コンパイラ実装上の観点を中心に。 01. decltypeにスコープ演算子(::)を使用できない これは賛成です。 ところで, simple-type-sp…

Cの構文解析(宣言構文)

C言語の構文解析では宣言構文もなかなか大変なので紹介。処理系を作る人の参考になれば。変数を宣言・定義する場合, 普通に考えれば [型] [変数名]; [型] [変数名] = [初期値]; という構文を採用するのが自然だと思う。例えばJavaやD言語などの新しい言語で…

離散凸解析

前に何かで知って気になってたので勉強してみた。離散凸解析の考えかた 最適化における離散と連続の数理作者: 室田一雄出版社/メーカー: 共立出版発売日: 2007/12/20メディア: 単行本購入: 5人 クリック: 16回この商品を含むブログ (4件) を見る簡単に言うと…

++と--は浮動小数点数にも使える

知らなかった。

C++の配列引数の問題

C++0xの勉強をしていたはずが, C++の勉強になってしまっているorz昨日C++0xではVLAがサポートされないと書いたが,これはもともとC++には配列引数にまつわる問題があるので, このあたりをいじりたくないという事情があるのではないかと思う。 前になんかの本…

[C/C++] C++のクラスに関する識別子規則

急遽C++0xを勉強することになったので, いろいろ見ていたのですが, 以下のコメントのやりとりが気になったので捕捉説明します。(と思ったらすでにid:uskzさんが指摘なさっていましたorz) えーと…クラス名と同じ名前の変数って作れないですけど・・・ ↓認識違…

C++0xにはC99の可変長配列がない

可変長配列は難しくても、配列引数の型修飾子は実装上は面倒な事がないはず。 これらは最適化コンパイラを実装する上で結構重要度が高いと思うんだけれどもなぁ。

Cの理解出来ない文法

Cのパーサを書いた経験から, Cの全く理解不可能な仕様を幾つか紹介。まずはこれ int const long typedef volatile long volatile unsigned x; これは const volatile unsigned long long int のxへのtypedefだけれども,Cの規格上正当でもちろんgccも通す文法…

ファンクション倶楽部

こんなのがあったのか。知らなかった。 http://atnd.org/events/99 きっと冬イベントとかがあるに違いない。