skopy/lib/include/value.h

37 lines
538 B
C
Raw Normal View History

2024-03-31 21:10:56 +00:00
#ifndef SK_VALUE_H
#define SK_VALUE_H
#include "commons.h"
#include "node.h"
#define TYPE_KIND(G) \
G(TYPE_INT)
SK_ENUM_H(TypeKind, TYPE_KIND);
union val
{
int integer;
};
struct value
{
TypeKind type;
union val val;
int line;
2024-03-31 21:10:56 +00:00
};
void value_init(struct value* self,
TypeKind type,
union val val,
int line);
2024-03-31 21:10:56 +00:00
void value_free(struct value* self);
bool value_equals(struct value* self, struct value* rhs);
2024-03-31 21:10:56 +00:00
void value_str(struct value* self, struct str* dest);
#endif