summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorJohnny Richard <johnny@johnnyrichard.com>2025-04-11 01:15:01 +0200
committerJohnny Richard <johnny@johnnyrichard.com>2025-04-14 23:11:22 +0200
commite7f69c8fbbbcbddde84933b2becd91e787d1ac63 (patch)
tree16cd17da17133494dd06aab614724e76b059d4ad /src/main.c
Intial commit
Signed-off-by: Johnny Richard <johnny@johnnyrichard.com>
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..e26ea49
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "array.h"
+#include "lexer.h"
+#include "parser.h"
+
+int
+main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "Usage: %s file.wsa\n", argv[0]);
+ return EXIT_FAILURE;
+ }
+
+ vm_t vm;
+ vm_init(&vm);
+
+ char *file_name = argv[1];
+
+ parser_t parser;
+ parser_init(&parser, file_name);
+
+ inst_t *insts = parser_parse(&parser);
+ vm_run(&vm, insts);
+
+ return EXIT_SUCCESS;
+}