秋の講義の準備で
LISPのソースコードを毎日読む
だんだん慣れてくる
LISPは初期化の部分と
インタープリタの部分がある
準備の部分でいろいろな構造のデータが並ぶ
一番やっかいなのはデータの途中を
ポインタの値として使うこと
typedef short id;
typedef unsigned long obj;
struct _cell {id ty,obj ob[2]};
struct _cell a;
でセル1個、((obj)&a+4)の番地を使う
これはa.ob[0]の番地a.obなの、セルのcar部分
ここを構造体のCAR番地って呼んだ
私がかってにつけた名前
#define type(x) (*((id*)(((unsigned long)(x))-4)))
として、tyを参照、tyに値を保存 など利用する
こんなのいやね
でもおもしろい使い方だともね
忍、忍