summaryrefslogtreecommitdiff
path: root/source/engine.c
diff options
context:
space:
mode:
authornasr <nsrddyn@gmail.com>2026-03-08 21:01:43 +0000
committernasr <nsrddyn@gmail.com>2026-03-08 21:01:43 +0000
commit71ced998122c357bc62e54d9bb4e124c88acf94b (patch)
tree746fca3d71a8640478ad6b6f4429a19f4dfbbda8 /source/engine.c
parentf8f24f8c67fe903e267ab29bb2fbb9d334a722de (diff)
refactor(main): worked on string handling in C and other stuff
Diffstat (limited to 'source/engine.c')
-rw-r--r--source/engine.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/source/engine.c b/source/engine.c
new file mode 100644
index 0000000..8f701e3
--- /dev/null
+++ b/source/engine.c
@@ -0,0 +1,46 @@
1#define BASE_UNITY
2#include "base/base_include.h"
3
4#include <stdio.h>
5
6#include "csv_parser.h"
7#include "lexer.h"
8
9#include "lexer.c"
10#include "csv_parser.c"
11
12int main(int c, char **v)
13{
14 if(c < 2) return -999;
15
16 b32 running = 0;
17
18 mem_arena *global_arena = arena_create(MiB(30));
19 csv_table *global_table = PushStruct(global_arena, csv_table);
20
21 string8 buffer = load_file(v[1]);
22
23 print("database engine in nasr");
24
25 for(;;)
26 {
27 if (running)
28 {
29 // TODO(nasr): check for return key
30 {
31 u8 line_buffer[256] = {};
32
33 s64 codepoint = os_read(STDIN_FD, line_buffer, 256);
34 unused(codepoint);
35
36 read_csv(buffer);
37 token *tokens = tokenize_csv(buffer, global_arena);
38 global_table = parse_csv(tokens, global_table);
39 }
40
41 sleep(1);
42 }
43 }
44
45 return 0;
46}