@echo off
-set SOURCE_FILES=src/onyx.c src/onyxastnodes.c src/onyxbuiltins.c src/onyxchecker.c src/onyxclone.c src/onyxdoc.c src/onyxentities.c src/onyxerrors.c src/onyxlex.c src/onyxparser.c src/onyxsymres.c src/onyxtypes.c src/onyxutils.c src/onyxwasm.c
+set SOURCE_FILES=src/onyx.c src/onyxastnodes.c src/onyxbuiltins.c src/onyxchecker.c src/onyxclone.c src/onyxdoc.c src/onyxentities.c src/onyxerrors.c src/onyxlex.c src/onyxparser.c src/onyxsymres.c src/onyxtypes.c src/onyxutils.c src/onyxwasm.c src/onyxc.c
if "%1" == "1" (
set FLAGS=/O2 /MT /Z7
cl.exe %FLAGS% /I include /std:c17 /Tc %SOURCE_FILES% /link /DEBUG /OUT:onyx.exe /incremental:no /opt:ref /subsystem:console
-del *.obj > NUL 2> NUL
\ No newline at end of file
+del *.obj > NUL 2> NUL
[ "$1" = "libs_only" ] && exit 0
-C_FILES="onyx onyxastnodes onyxbuiltins onyxchecker onyxclone onyxdoc onyxentities onyxerrors onyxlex onyxparser onyxsymres onyxtypes onyxutils onyxwasm"
+C_FILES="onyx onyxastnodes onyxbuiltins onyxchecker onyxclone onyxdoc onyxentities onyxerrors onyxlex onyxparser onyxsymres onyxtypes onyxutils onyxwasm onyxc"
TARGET='./bin/onyx'
CC='gcc'
--- /dev/null
+#ifndef ONYXC_H
+#define ONYXC_H
+
+#include "bh.h"
+#include "onyxastnodes.h"
+
+typedef struct CMemoryReservation {
+ i32 number;
+ i32 size;
+ char* initial_value;
+} CMemoryReservation;
+
+typedef struct CStringLiteral {
+ i32 number;
+ i32 size;
+ char* data;
+} CStringLiteral;
+
+typedef struct CFile {
+
+ bh_arr(CMemoryReservation) memory_reservations;
+ bh_arr(CStringLiteral) string_literals;
+
+} CFile;
+
+
+#endif
--- /dev/null
+#include "onyxc.h"
+
+