Cの最高の最小限の使い方
受賞者:Arch D. Robison
動作・解説にジャンプ »
引用元:https://www.ioccc.org/1989/robison.c
審査員・作者による説明:https://github.com/ioccc-src/winner/blob/main/1989/robison.hint
極小のAPLインタプリタ。2進数の足し算、引き算、掛け算ができる。
$ gcc -o robison robison.c $ echo "101 x 111 - 100" | ./robison 1111
APLではこれは5 x (7 - 4) = 15を表すとのこと。
$ echo "(101 x 111) - 100" | ./robison 11111
これは(5 x 7) - 4 = 31になっている。
[[1988/robison]]に続き、C言語の利用構文を制限して書かれている(作者はこれをC--と言っている)。 robison.hintに書かれた作者コメントによると、関数呼び出し、間接参照、配列代入、コンマ、sizeofだけを使用して多倍長2進数計算を実現しているとのこと。
sizeof
マクロ定義中のD/**/fをD##fなどに置き換える変更が必要だった。
D/**/f
D##f
パッチをダウンロード