#include <stddef.h>
#include <stdbool.h>
-#include "../src/expression.h"
typedef enum
{
MODULE_NATIVE,
} UwUVMModuleType;
+typedef enum
+{
+ EX_UNINIT,
+ EX_INTLIT,
+ EX_STRLIT,
+ EX_ARGNUM,
+ EX_FNNAME,
+ EX_FNCALL,
+} UwUVMExpressionType;
+
typedef struct
{
void *(*clone)(void *data);
typedef struct UwUVMExpression
{
- ExpressionType type;
+ UwUVMExpressionType type;
union
{
struct
} value;
} UwUVMExpression;
-typedef struct
-{
- void *api_library;
- UwUVMFunction *main_function;
- UwUVMFunction **functions;
- size_t num_functions;
- void **libraries;
- size_t num_libraries;
-} UwUVMProgram;
-
UwUVMValue uwuvm_clone_value(UwUVMValue value);
void uwuvm_delet_value(UwUVMValue value);
char *uwuvm_print_value(UwUVMValue value);