タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

コンパイラとc++に関するadvblogのブックマーク (1)

  • Cの構文解析(宣言構文) - mad日記

    C言語の構文解析では宣言構文もなかなか大変なので紹介。処理系を作る人の参考になれば。 変数を宣言・定義する場合, 普通に考えれば [型] [変数名]; [型] [変数名] = [初期値]; という構文を採用するのが自然だと思う。例えばJavaやD言語などの新しい言語では int[] x; の様な構文を採用している。 しかし,CやC++では[型]の部分が構文的に独立していない。例えば int x[10]; はもちろんけれども, int *x; も構文上は [int] + [*x];となっている。*1 従って,この構文を正しく読むと「int*型のxの宣言」ではなく「int型のポインタ注釈付きxの宣言」となる。 このx[10]や*xの部分を「宣言子」と言い, 他には関数の仮引数列が含まれる。 このような構文を取るため, C言語では異なる型の識別子を同一の宣言文で宣言することができる。 int x

    Cの構文解析(宣言構文) - mad日記
    advblog
    advblog 2008/11/27
    Cの構文解析(宣言構文)
  • 1