在迈向自举方案解释器的第一步中,我发现了以下一组 typedef、struct、union 和 enum 定义:
typedef enum {FIXNUM} object_type;
typedef struct object {
object_type type;
union {
struct {
long value;
} fixnum;
} data;
} object;
特别是,我不确定我是否理解 union ( struct { long value; } fixnum;
) 内部结构的意义——一个只有一个字段的结构,要保存一个 long 吗?很奇怪。
但我也不确定我是否理解更大的一点。我认为枚举定义的情况是他正在为词汇实体设置许多可能的类型值,这object
是一种保存这些值的方法,但也许比我有更多 C 实践经验的人可以提供更详细的解释.
谢谢!