タグ

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

タグの絞り込みを解除

マクロに関するtkmr2000のブックマーク (1)

  • ホワット・ア・ワンダフル・ワールド C でマクロ展開系を実装してみる

    最近 Scheme とかのインタプリタを書くのが流行っているらしいね (という前振りを書くのは何回目だろうか) あのbakaiku でも取り上げられている. というわけで,僕も何か書きたくなった.言語は,たまたま紀伊国屋で見かけて読んでいた計算モデル論入門で,計算可能性の概念を示すために提案された,Scheme のほぼミニマムなサブセットであるプログラミング言語 L が手ごろで良さそうだ.構文的には P ::= C | (begin D1 ... Dm P1 ... Pn) D ::= (def X) | (def (f) P) C ::= (add1 X) | (sub1 X) | (if (nzero? X) P1 P2) | (if (nzero? X) P) | (f) これだけで,データ型は自然数だけだ.これでも現存する全てのチューリング等価なプログラミング言語と,計算能力は

    tkmr2000
    tkmr2000 2008/02/22
    「条件分岐が入ったマクロだけで,計算可能な関数が全て計算できるようになる」
  • 1