reorganizing code

This commit is contained in:
cozis
2022-03-12 23:17:44 +01:00
parent de11b968fb
commit 2dcfbd194e
18 changed files with 141 additions and 335 deletions
+37
View File
@@ -0,0 +1,37 @@
#ifndef STATICMAP_H
#define STATICMAP_H
#include "../objects/objects.h"
#include "runtime.h"
typedef enum {
SM_END,
SM_BOOL,
SM_INT,
SM_FLOAT,
SM_FUNCT,
SM_STRING,
SM_SMAP,
SM_NONE,
SM_TYPE,
} StaticMapSlotKind;
typedef struct StaticMapSlot StaticMapSlot;
struct StaticMapSlot {
const char *name;
StaticMapSlotKind kind;
union {
const StaticMapSlot *as_smap;
const char *as_string;
_Bool as_bool;
long long int as_int;
double as_float;
Object *(*as_funct)(Runtime*, Object**, unsigned int, Error*);
TypeObject *as_type;
};
union { int argc; int length; };
};
Object *Object_NewStaticMap(const StaticMapSlot *slots, Runtime *runt, Error *error);
#endif