Tuesday 8 April 2014

古いコンパイラ

GCC/LLVM 版があるので、もはや昔のコンパイラは必要ないんだけど、放置されてるのも可哀想なので。

Linux source がcompileできるってのが一つの基準なんだと思うけど、最近の kernel source は、C の新しい機能を使いまくり。なので、その辺りを対応するのが、

面白い!

けど、虚しくはあるわな。statement expression とか可変長配列とか、ラベル変数とか。特に、

構造体の部分初期化

が結構、闇。しかも、大域変数上の初期化と局所変数上の初期化と両方書かないといけなくて。2011に、チェックした時には諦めた。でも、今回は何故かできました。要するに、

手抜きなコード

で良ければできるわけさ。プログラミングってのは「いかに手を抜くか」という技術でもあるね。

OS X 側は終わったのだが、Linux 側がまだおかしい。もしかすると、Linux 側で64bitなコード生成はチェックしてないのも。それくらいぼろぼろだ。でも、時間の問題ではあるね。時間の問題だけに、

今やるものなのか?

とも思うけど。

でも、kernel source で今更

C のマクロ書きまくり

はやめて欲しいです。本当。C 自体が寿命であることは確かだと思う。AST とかで書いた方が良いんじゃなかろうか。

ATS言語とは
http://jats-ug.metasepi.org

ま、自分で言語作れば良いんだけどね。

No comments: