#ifndef OBJECT_H #define OBJECT_H typedef enum ObjectType { OT_INT, OT_FLOAT, OT_CONST_STRING, OT_NULL, OT_BOOL, OT_VOID, OT_ARRAY, OT_REFERENCE } ObjectType; typedef struct Reference { int pointer; int index; } Reference; typedef struct Object { ObjectType type; union Data { int intValue; float floatValue; const char* stringValue; Reference reference; } data; } Object; const char* oGetName(ObjectType ot); #endif