summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--source/base/base_string.h9
-rw-r--r--source/engine/engine.c9
-rw-r--r--source/lexer/lexer.c74
-rw-r--r--source/storage/csv_reader.c8
-rw-r--r--source/storage/csv_reader.h8
-rw-r--r--tags105
7 files changed, 161 insertions, 54 deletions
diff --git a/.gitignore b/.gitignore
index 8bebb0b..a0e4bdd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,5 @@ idea/*
5/build 5/build
6/notes.txt 6/notes.txt
7/test 7/test
8/tags
9/helper.sh
diff --git a/source/base/base_string.h b/source/base/base_string.h
index 64a3162..189b38a 100644
--- a/source/base/base_string.h
+++ b/source/base/base_string.h
@@ -47,4 +47,13 @@ string8_append_char(string8 *buf, u8 c)
47 buf->size += 1; 47 buf->size += 1;
48} 48}
49 49
50read_only global_variable
51string8 nil_string =
52{
53
54 .data = NULL,
55 .size = 0,
56
57};
58
50#endif /* BASE_STRING_H */ 59#endif /* BASE_STRING_H */
diff --git a/source/engine/engine.c b/source/engine/engine.c
index ada4ecb..05c143c 100644
--- a/source/engine/engine.c
+++ b/source/engine/engine.c
@@ -1,6 +1,8 @@
1#define BASE_UNITY 1#define BASE_UNITY
2#include "../base/base_include.h" 2#include "../base/base_include.h"
3 3
4#include <stdio.h>
5
4#include "../lexer/lexer.h" 6#include "../lexer/lexer.h"
5#include "../lexer/lexer.c" 7#include "../lexer/lexer.c"
6 8
@@ -13,17 +15,14 @@
13#include "../storage/csv_reader.h" 15#include "../storage/csv_reader.h"
14#include "../storage/csv_reader.c" 16#include "../storage/csv_reader.c"
15 17
16#if 1
17#include <stdio.h>
18#endif
19
20 18
21int main(int c, char **v) 19int main(int c, char **v)
22{ 20{
23 if(c < 2) return -999; 21 if(c < 2) return -999;
24 22
25 string8 buffer = load_file(v[1]); 23 string8 buffer = load_file(v[1]);
26 read_csv(buffer); 24 // read_csv(buffer);
25 tokenize_csv(buffer);
27 26
28 27
29 // for(;;) 28 // for(;;)
diff --git a/source/lexer/lexer.c b/source/lexer/lexer.c
index 8182c5a..1c7ab38 100644
--- a/source/lexer/lexer.c
+++ b/source/lexer/lexer.c
@@ -1,10 +1,80 @@
1internal b32
2is_alpha(u8 point)
3{
4 return ((point >= 'a' && point <= 'z') ||
5 (point >= 'A' && point <= 'Z') ||
6 (point == '_'));
7}
8
9internal b32
10is_digit(u8 point)
11{
12 return (point >= '0' && point <= '9');
13}
14
15internal b32
16is_alpha_num(u8 point)
17{
18 return (is_alpha(point) || is_digit(point));
19}
20
21internal b32
22is_whitespace(u8 point)
23{
24 return (point == '\n' || point == '\r' ||
25 point == ' ' || point == '\t');
26}
27
28internal b32
29is_delimiter(u8 point)
30{
31
32 return (point == ',');
33
34}
35
1internal token * 36internal token *
2tokenize_csv(string8 buffer) 37tokenize_csv(string8 buffer)
3{ 38{
39 i32 count = 0;
40 string8 **tokens = PushArray(arena, string8 *, buffer.size / 10);
41
4 if(buffer.size < 0) return NULL; 42 if(buffer.size < 0) return NULL;
5 for(i32 index = 0; 43 for(i32 index = 0;
6 buffer.data[index] != '\0' 44 buffer.data[index] != '\0';
7 ;) 45 ++index)
46 {
47 string8 tokens = {0};
48
49 u8 point = buffer.data[index];
50 if(is_whitespace(point)) continue;
51
52 u8 *start = &buffer.data;
53
54 if(is_delimiter(point))
55 {
56
57
58 }
59
60 u8 *end = start - 1;
61
62 unused(start);
63 unused(end);
64
65 switch (point)
66 {
67
68 default:
69 {
70 printf("point: %c\n", point);
71 count++;
72 }
73 }
74
75 }
76
77 printf("%d", count);
8 78
9 return NULL; 79 return NULL;
10} 80}
diff --git a/source/storage/csv_reader.c b/source/storage/csv_reader.c
index a06e9c4..2fcbe04 100644
--- a/source/storage/csv_reader.c
+++ b/source/storage/csv_reader.c
@@ -1,15 +1,7 @@
1#define STD_TEST
2#if defined(STD_TEST)
3#include <stdio.h>
4#endif
5
6internal void 1internal void
7read_csv(string8 buffer) 2read_csv(string8 buffer)
8{ 3{
9#if defined(STD_TEST)
10 printf("\nsize:%lu\ndata %s\n", buffer.size, buffer.data); 4 printf("\nsize:%lu\ndata %s\n", buffer.size, buffer.data);
11#endif
12 5
13} 6}
14 7
15
diff --git a/source/storage/csv_reader.h b/source/storage/csv_reader.h
index 711499f..36e07a4 100644
--- a/source/storage/csv_reader.h
+++ b/source/storage/csv_reader.h
@@ -23,8 +23,8 @@ struct csv_table
23read_only global_variable 23read_only global_variable
24csv_row nil_csv_row = 24csv_row nil_csv_row =
25{ 25{
26 .fields = {NULL, 0}, 26 .fields = &nil_string,
27 .count = 0, 27 .count = 0,
28}; 28};
29 29
30 30
@@ -32,8 +32,8 @@ csv_row nil_csv_row =
32read_only global_variable 32read_only global_variable
33csv_table nil_csv_table = 33csv_table nil_csv_table =
34{ 34{
35 .string8 = {NULL, 0}, 35 .headers = &nil_string,
36 .csv_row = &nil_csv_row, 36 .rows = &nil_csv_row,
37 .col_count = 0, 37 .col_count = 0,
38 .row_count = 0, 38 .row_count = 0,
39}; 39};
diff --git a/tags b/tags
index 1f8a45d..44c6eee 100644
--- a/tags
+++ b/tags
@@ -86,20 +86,23 @@ BASE_MEM_H source/base/base_mem.h /^#define BASE_MEM_H$/;" d
86BASE_OS_H source/base/base_os.h /^#define BASE_OS_H$/;" d 86BASE_OS_H source/base/base_os.h /^#define BASE_OS_H$/;" d
87BASE_STRING_H source/base/base_string.h /^#define BASE_STRING_H$/;" d 87BASE_STRING_H source/base/base_string.h /^#define BASE_STRING_H$/;" d
88BASE_TEST_H source/base/base_test.h /^#define BASE_TEST_H$/;" d 88BASE_TEST_H source/base/base_test.h /^#define BASE_TEST_H$/;" d
89BASE_UNITY source/engine/engine_main.c /^#define BASE_UNITY$/;" d file: 89BASE_UNITY source/engine/engine.c /^#define BASE_UNITY$/;" d file:
90BIN Makefile /^BIN = build\/engine$/;" m 90BIN Makefile /^BIN = build\/engine$/;" m
91BLUE source/base/base_test.h /^#define BLUE /;" d 91BLUE source/base/base_test.h /^#define BLUE /;" d
92BTREE_H source/storage/b_tree.h /^#define BTREE_H$/;" d
92BUFF_DEFAULT source/base/base.h /^#define BUFF_DEFAULT /;" d 93BUFF_DEFAULT source/base/base.h /^#define BUFF_DEFAULT /;" d
93BUFF_LARGE source/base/base.h /^#define BUFF_LARGE /;" d 94BUFF_LARGE source/base/base.h /^#define BUFF_LARGE /;" d
94BUFF_SMALL source/base/base.h /^#define BUFF_SMALL /;" d 95BUFF_SMALL source/base/base.h /^#define BUFF_SMALL /;" d
96B_TREE_ORDER source/storage/b_tree.h /^#define B_TREE_ORDER /;" d
95CC Makefile /^CC = clang$/;" m 97CC Makefile /^CC = clang$/;" m
96CFLAGS Makefile /^CFLAGS = -Wall -Wextra -Wfloat-equal -Wswitch-default -Wswitch-enum \\$/;" m 98CFLAGS Makefile /^CFLAGS = -Wall -Wextra -Wfloat-equal -Wswitch-default -Wswitch-enum \\$/;" m
99CSV_READER_H source/storage/csv_reader.h /^#define CSV_READER_H$/;" d
97DEPRECATED source/base/base.h /^#define DEPRECATED /;" d 100DEPRECATED source/base/base.h /^#define DEPRECATED /;" d
98ENGINE_LEXER_H source/engine/engine_lexer.h /^#define ENGINE_LEXER_H$/;" d 101ENGINE_LEXER_H source/lexer/lexer.h /^#define ENGINE_LEXER_H$/;" d
99ENGINE_REPL_H source/engine/engine_parser.c /^#define ENGINE_REPL_H$/;" d file: 102ENGINE_REPL_H source/parser/parser.c /^#define ENGINE_REPL_H$/;" d file:
100ENGINE_REPL_H source/engine/engine_parser.h /^#define ENGINE_REPL_H$/;" d 103ENGINE_REPL_H source/parser/parser.h /^#define ENGINE_REPL_H$/;" d
101ENGINE_REPL_H source/engine/engine_repl.c /^#define ENGINE_REPL_H$/;" d file: 104ENGINE_REPL_H source/repl/repl.c /^#define ENGINE_REPL_H$/;" d file:
102ENGINE_REPL_H source/engine/engine_repl.h /^#define ENGINE_REPL_H$/;" d 105ENGINE_REPL_H source/repl/repl.h /^#define ENGINE_REPL_H$/;" d
103ERR_INVALID source/base/base.h /^#define ERR_INVALID /;" d 106ERR_INVALID source/base/base.h /^#define ERR_INVALID /;" d
104ERR_IO source/base/base.h /^#define ERR_IO /;" d 107ERR_IO source/base/base.h /^#define ERR_IO /;" d
105ERR_OK source/base/base.h /^#define ERR_OK /;" d 108ERR_OK source/base/base.h /^#define ERR_OK /;" d
@@ -123,13 +126,16 @@ PushString source/base/base_string.h /^ #define PushString(/;" d
123PushStruct source/base/base_arena.h /^#define PushStruct(/;" d 126PushStruct source/base/base_arena.h /^#define PushStruct(/;" d
124RED source/base/base_test.h /^#define RED /;" d 127RED source/base/base_test.h /^#define RED /;" d
125RESET source/base/base_test.h /^#define RESET /;" d 128RESET source/base/base_test.h /^#define RESET /;" d
126SRC Makefile /^SRC = source\/engine\/engine_main.c$/;" m 129SRC Makefile /^SRC = source\/engine\/engine.c$/;" m
127STACK_H source/base/base_stack.h /^#define STACK_H$/;" d 130STACK_H source/base/base_stack.h /^#define STACK_H$/;" d
131StringFmt source/base/base_string.h /^#define StringFmt /;" d
128StringLit source/base/base_string.h /^#define StringLit(/;" d 132StringLit source/base/base_string.h /^#define StringLit(/;" d
129TOKEN_IDENTIFIER source/engine/engine_lexer.h /^ TOKEN_IDENTIFIER,$/;" e enum:token_type 133TOKEN_IDENTIFIER source/lexer/lexer.h /^ TOKEN_IDENTIFIER,$/;" e enum:token_type
130TOKEN_UNDEFINED source/engine/engine_lexer.h /^ TOKEN_UNDEFINED = 255,$/;" e enum:token_type 134TOKEN_UNDEFINED source/lexer/lexer.h /^ TOKEN_UNDEFINED = 255,$/;" e enum:token_type
131TOKEN_VALUE source/engine/engine_lexer.h /^ TOKEN_VALUE,$/;" e enum:token_type 135TOKEN_VALUE source/lexer/lexer.h /^ TOKEN_VALUE,$/;" e enum:token_type
132TRUE source/base/base.h /^#define TRUE /;" d 136TRUE source/base/base.h /^#define TRUE /;" d
137ULLongFmt source/base/base_string.h /^#define ULLongFmt /;" d
138ULongFmt source/base/base_string.h /^#define ULongFmt /;" d
133align source/base/base_mem.h /^align(u64 pointer, umm alignment)$/;" f typeref:typename:internal u64 139align source/base/base_mem.h /^align(u64 pointer, umm alignment)$/;" f typeref:typename:internal u64
134arena source/base/base_arena.h /^ mem_arena *arena;$/;" m struct:temp_arena typeref:typename:mem_arena * 140arena source/base/base_arena.h /^ mem_arena *arena;$/;" m struct:temp_arena typeref:typename:mem_arena *
135arena_alloc source/base/base_arena.c /^arena_alloc(mem_arena *arena, u64 size)$/;" f typeref:typename:internal void * 141arena_alloc source/base/base_arena.c /^arena_alloc(mem_arena *arena, u64 size)$/;" f typeref:typename:internal void *
@@ -143,17 +149,25 @@ arena_resize_align source/base/base_arena.c /^arena_resize_align(mem_arena *aren
143b16 source/base/base.h /^typedef i16 b16;$/;" t typeref:typename:i16 149b16 source/base/base.h /^typedef i16 b16;$/;" t typeref:typename:i16
144b32 source/base/base.h /^typedef i32 b32;$/;" t typeref:typename:i32 150b32 source/base/base.h /^typedef i32 b32;$/;" t typeref:typename:i32
145b8 source/base/base.h /^typedef u8 b8;$/;" t typeref:typename:u8 151b8 source/base/base.h /^typedef u8 b8;$/;" t typeref:typename:u8
152b_tree source/storage/b_tree.h /^struct b_tree$/;" s
153b_tree source/storage/b_tree.h /^typedef struct b_tree b_tree;$/;" t typeref:struct:b_tree
154b_tree_create source/storage/b_tree.c /^b_tree_create(mem_arena *arena, u16 order)$/;" f typeref:typename:internal void
155b_tree_insert source/storage/b_tree.c /^b_tree_insert()$/;" f typeref:typename:internal void
156b_tree_node source/storage/b_tree.h /^struct b_tree_node$/;" s
157b_tree_node source/storage/b_tree.h /^typedef struct b_tree_node b_tree_node;$/;" t typeref:struct:b_tree_node
158b_tree_search source/storage/b_tree.c /^b_tree_search(node *node)$/;" f typeref:typename:internal void
159b_tree_write source/storage/b_tree.c /^b_tree_write()$/;" f typeref:typename:internal void
146base_position source/base/base_arena.h /^ u8 *base_position;$/;" m struct:mem_arena typeref:typename:u8 * 160base_position source/base/base_arena.h /^ u8 *base_position;$/;" m struct:mem_arena typeref:typename:u8 *
147base_position source/base/base_stack.h /^ u8 *base_position;$/;" m struct:mem_stack typeref:typename:u8 * 161base_position source/base/base_stack.h /^ u8 *base_position;$/;" m struct:mem_stack typeref:typename:u8 *
148breakpoint source/base/base.h /^#define breakpoint /;" d 162breakpoint source/base/base.h /^#define breakpoint /;" d
149btree source/engine/engine_parser.c /^struct btree$/;" s file: 163btree source/parser/parser.c /^struct btree$/;" s file:
150btree source/engine/engine_parser.c /^typedef struct btree btree;$/;" t typeref:struct:btree file: 164btree source/parser/parser.c /^typedef struct btree btree;$/;" t typeref:struct:btree file:
151btree source/engine/engine_parser.h /^struct btree$/;" s 165btree source/parser/parser.h /^struct btree$/;" s
152btree source/engine/engine_parser.h /^typedef struct btree btree;$/;" t typeref:struct:btree 166btree source/parser/parser.h /^typedef struct btree btree;$/;" t typeref:struct:btree
153btree source/engine/engine_repl.c /^struct btree$/;" s file: 167btree source/repl/repl.c /^struct btree$/;" s file:
154btree source/engine/engine_repl.c /^typedef struct btree btree;$/;" t typeref:struct:btree file: 168btree source/repl/repl.c /^typedef struct btree btree;$/;" t typeref:struct:btree file:
155btree source/engine/engine_repl.h /^struct btree$/;" s 169btree source/repl/repl.h /^struct btree$/;" s
156btree source/engine/engine_repl.h /^typedef struct btree btree;$/;" t typeref:struct:btree 170btree source/repl/repl.h /^typedef struct btree btree;$/;" t typeref:struct:btree
157calculate_padding source/base/base_stack.c /^calculate_padding(u64 pointer, u8 alignment, u64 header_size)$/;" f typeref:typename:internal u8 171calculate_padding source/base/base_stack.c /^calculate_padding(u64 pointer, u8 alignment, u64 header_size)$/;" f typeref:typename:internal u8
158capacity source/base/base_arena.h /^ u64 capacity;$/;" m struct:mem_arena typeref:typename:u64 172capacity source/base/base_arena.h /^ u64 capacity;$/;" m struct:mem_arena typeref:typename:u64
159capacity source/base/base_stack.h /^ u64 capacity;$/;" m struct:mem_stack typeref:typename:u64 173capacity source/base/base_stack.h /^ u64 capacity;$/;" m struct:mem_stack typeref:typename:u64
@@ -161,19 +175,28 @@ check source/base/base_test.h /^#define check(/;" d
161checkpoint source/base/base_test.h /^#define checkpoint /;" d 175checkpoint source/base/base_test.h /^#define checkpoint /;" d
162checkpoint_end_output source/base/base_test.h /^#define checkpoint_end_output /;" d 176checkpoint_end_output source/base/base_test.h /^#define checkpoint_end_output /;" d
163checkpoint_output source/base/base_test.h /^#define checkpoint_output /;" d 177checkpoint_output source/base/base_test.h /^#define checkpoint_output /;" d
178children source/storage/b_tree.h /^ b_tree_node *children[B_TREE_ORDER];$/;" m struct:b_tree_node typeref:typename:b_tree_node * []
164clean Makefile /^clean:$/;" t 179clean Makefile /^clean:$/;" t
180col_count source/storage/csv_reader.h /^ i32 col_count;$/;" m struct:csv_table typeref:typename:i32
181count source/storage/csv_reader.h /^ i32 count;$/;" m struct:csv_row typeref:typename:i32
182csv_row source/storage/csv_reader.h /^struct csv_row$/;" s
183csv_row source/storage/csv_reader.h /^typedef struct csv_row csv_row;$/;" t typeref:struct:csv_row
184csv_table source/storage/csv_reader.h /^struct csv_table$/;" s
185csv_table source/storage/csv_reader.h /^typedef struct csv_table csv_table;$/;" t typeref:struct:csv_table
165current_offset source/base/base_stack.h /^ u64 current_offset;$/;" m struct:mem_stack typeref:typename:u64 186current_offset source/base/base_stack.h /^ u64 current_offset;$/;" m struct:mem_stack typeref:typename:u64
166current_position source/base/base_arena.h /^ u64 current_position;$/;" m struct:mem_arena typeref:typename:u64 187current_position source/base/base_arena.h /^ u64 current_position;$/;" m struct:mem_arena typeref:typename:u64
167data source/base/base_string.h /^ u8 *data;$/;" m struct:string8 typeref:typename:u8 * 188data source/base/base_string.h /^ u8 *data;$/;" m struct:string8 typeref:typename:u8 *
168database engine in c README.md /^# database engine in c$/;" c 189database engine in c README.md /^# database engine in c$/;" c
169f32 source/base/base.h /^typedef float f32;$/;" t typeref:typename:float 190f32 source/base/base.h /^typedef float f32;$/;" t typeref:typename:float
170f64 source/base/base.h /^typedef double f64;$/;" t typeref:typename:double 191f64 source/base/base.h /^typedef double f64;$/;" t typeref:typename:double
192fields source/storage/csv_reader.h /^ string8 *fields;$/;" m struct:csv_row typeref:typename:string8 *
171generate_hash source/base/base_hash.c /^generate_hash()$/;" f typeref:typename:internal u64 193generate_hash source/base/base_hash.c /^generate_hash()$/;" f typeref:typename:internal u64
172global_variable source/base/base.h /^#define global_variable /;" d 194global_variable source/base/base.h /^#define global_variable /;" d
173hash source/base/bash_hash.h /^typedef struct hash hash;$/;" t typeref:struct:hash 195hash source/base/bash_hash.h /^typedef struct hash hash;$/;" t typeref:struct:hash
174hash_map source/base/bash_hash.h /^struct hash_map $/;" s 196hash_map source/base/bash_hash.h /^struct hash_map $/;" s
175hash_map source/base/bash_hash.h /^typedef struct hash_map hash_map;$/;" t typeref:struct:hash_map 197hash_map source/base/bash_hash.h /^typedef struct hash_map hash_map;$/;" t typeref:struct:hash_map
176header source/base/base_stack.h /^ mem_stack_header *header;$/;" m struct:mem_stack typeref:typename:mem_stack_header * 198header source/base/base_stack.h /^ mem_stack_header *header;$/;" m struct:mem_stack typeref:typename:mem_stack_header *
199headers source/storage/csv_reader.h /^ string8 *headers;$/;" m struct:csv_table typeref:typename:string8 *
177i16 source/base/base.h /^typedef int16_t i16;$/;" t typeref:typename:int16_t 200i16 source/base/base.h /^typedef int16_t i16;$/;" t typeref:typename:int16_t
178i32 source/base/base.h /^typedef int32_t i32;$/;" t typeref:typename:int32_t 201i32 source/base/base.h /^typedef int32_t i32;$/;" t typeref:typename:int32_t
179i64 source/base/base.h /^typedef int64_t i64;$/;" t typeref:typename:int64_t 202i64 source/base/base.h /^typedef int64_t i64;$/;" t typeref:typename:int64_t
@@ -181,30 +204,42 @@ i8 source/base/base.h /^typedef int8_t i8;$/;" t typeref:typename:int8_t
181input_read source/base/base_io.h /^input_read()$/;" f typeref:typename:internal void 204input_read source/base/base_io.h /^input_read()$/;" f typeref:typename:internal void
182internal source/base/base.h /^#define internal /;" d 205internal source/base/base.h /^#define internal /;" d
183is_pow source/base/base_mem.h /^is_pow(umm x)$/;" f typeref:typename:internal b8 206is_pow source/base/base_mem.h /^is_pow(umm x)$/;" f typeref:typename:internal b8
184lexeme source/engine/engine_lexer.h /^ string8 lexeme;$/;" m struct:token typeref:typename:string8 207key_count source/storage/b_tree.h /^ i32 key_count;$/;" m struct:b_tree_node typeref:typename:i32
208keys source/storage/b_tree.h /^ string8 keys[B_TREE_ORDER - 1];$/;" m struct:b_tree_node typeref:typename:string8[]
209leaf source/storage/b_tree.h /^ b32 leaf;$/;" m struct:b_tree_node typeref:typename:b32
210lexeme source/lexer/lexer.h /^ string8 lexeme;$/;" m struct:token typeref:typename:string8
211load_file source/base/base_os.h /^load_file(const char *path)$/;" f typeref:typename:internal string8
185local_persist source/base/base.h /^#define local_persist /;" d 212local_persist source/base/base.h /^#define local_persist /;" d
186main source/engine/engine_main.c /^int main(int c, char **v)$/;" f typeref:typename:int 213main source/engine/engine.c /^int main(int c, char **v)$/;" f typeref:typename:int
187mem_arena source/base/base_arena.h /^struct mem_arena$/;" s 214mem_arena source/base/base_arena.h /^struct mem_arena$/;" s
188mem_arena source/base/base_arena.h /^typedef struct mem_arena mem_arena;$/;" t typeref:struct:mem_arena 215mem_arena source/base/base_arena.h /^typedef struct mem_arena mem_arena;$/;" t typeref:struct:mem_arena
189mem_stack source/base/base_stack.h /^struct mem_stack$/;" s 216mem_stack source/base/base_stack.h /^struct mem_stack$/;" s
190mem_stack source/base/base_stack.h /^typedef struct mem_stack mem_stack;$/;" t typeref:struct:mem_stack 217mem_stack source/base/base_stack.h /^typedef struct mem_stack mem_stack;$/;" t typeref:struct:mem_stack
191mem_stack_header source/base/base_stack.h /^struct mem_stack_header$/;" s 218mem_stack_header source/base/base_stack.h /^struct mem_stack_header$/;" s
192mem_stack_header source/base/base_stack.h /^typedef struct mem_stack_header mem_stack_header;$/;" t typeref:struct:mem_stack_header 219mem_stack_header source/base/base_stack.h /^typedef struct mem_stack_header mem_stack_header;$/;" t typeref:struct:mem_stack_header
193node source/engine/engine_parser.c /^struct node$/;" s file: 220nil_csv_row source/storage/csv_reader.h /^csv_row nil_csv_row =$/;" v typeref:typename:read_only global_variable csv_row
194node source/engine/engine_parser.c /^typedef struct node node;$/;" t typeref:struct:node file: 221nil_csv_table source/storage/csv_reader.h /^csv_table nil_csv_table =$/;" v typeref:typename:read_only global_variable csv_table
195node source/engine/engine_parser.h /^struct node$/;" s 222nil_string source/base/base_string.h /^string8 nil_string =$/;" v typeref:typename:read_only global_variable string8
196node source/engine/engine_parser.h /^typedef struct node node;$/;" t typeref:struct:node 223node source/parser/parser.c /^struct node$/;" s file:
197node source/engine/engine_repl.c /^struct node$/;" s file: 224node source/parser/parser.c /^typedef struct node node;$/;" t typeref:struct:node file:
198node source/engine/engine_repl.c /^typedef struct node node;$/;" t typeref:struct:node file: 225node source/parser/parser.h /^struct node$/;" s
199node source/engine/engine_repl.h /^struct node$/;" s 226node source/parser/parser.h /^typedef struct node node;$/;" t typeref:struct:node
200node source/engine/engine_repl.h /^typedef struct node node;$/;" t typeref:struct:node 227node source/repl/repl.c /^struct node$/;" s file:
228node source/repl/repl.c /^typedef struct node node;$/;" t typeref:struct:node file:
229node source/repl/repl.h /^struct node$/;" s
230node source/repl/repl.h /^typedef struct node node;$/;" t typeref:struct:node
201padding source/base/base_stack.h /^ u8 padding;$/;" m struct:mem_stack_header typeref:typename:u8 231padding source/base/base_stack.h /^ u8 padding;$/;" m struct:mem_stack_header typeref:typename:u8
232parent source/storage/b_tree.h /^ b_tree_node *parent;$/;" m struct:b_tree_node typeref:typename:b_tree_node *
202previous_offset source/base/base_stack.h /^ u8 previous_offset;$/;" m struct:mem_stack_header typeref:typename:u8 233previous_offset source/base/base_stack.h /^ u8 previous_offset;$/;" m struct:mem_stack_header typeref:typename:u8
203previous_position source/base/base_arena.h /^ u64 previous_position;$/;" m struct:mem_arena typeref:typename:u64 234previous_position source/base/base_arena.h /^ u64 previous_position;$/;" m struct:mem_arena typeref:typename:u64
204print source/base/base_os.h /^#define print(Format) print(/;" d
205print source/base/base_os.h /^print(const char *str)$/;" f typeref:typename:internal void 235print source/base/base_os.h /^print(const char *str)$/;" f typeref:typename:internal void
236read_csv source/storage/csv_reader.c /^read_csv(string8 buffer)$/;" f typeref:typename:internal void
206read_only source/base/base.h /^#define read_only /;" d 237read_only source/base/base.h /^#define read_only /;" d
207read_only source/base/base.h /^#define read_only$/;" d 238read_only source/base/base.h /^#define read_only$/;" d
239root source/storage/b_tree.h /^ b_tree_node *root;$/;" m struct:b_tree typeref:typename:b_tree_node *
240row_count source/storage/csv_reader.h /^ i32 row_count;$/;" m struct:csv_table typeref:typename:i32
241rows source/storage/b_tree.h /^ csv_row *rows[B_TREE_ORDER - 1];$/;" m struct:b_tree_node typeref:typename:csv_row * []
242rows source/storage/csv_reader.h /^ csv_row *rows;$/;" m struct:csv_table typeref:typename:csv_row *
208run Makefile /^run:$/;" t 243run Makefile /^run:$/;" t
209show source/base/base_test.h /^#define show /;" d 244show source/base/base_test.h /^#define show /;" d
210size source/base/base_string.h /^ u64 size;$/;" m struct:string8 typeref:typename:u64 245size source/base/base_string.h /^ u64 size;$/;" m struct:string8 typeref:typename:u64
@@ -228,12 +263,12 @@ temp_arena_begin source/base/base_arena.c /^temp_arena_begin(mem_arena *arena)$/
228temp_arena_end source/base/base_arena.c /^temp_arena_end(temp_arena temp)$/;" f typeref:typename:internal void 263temp_arena_end source/base/base_arena.c /^temp_arena_end(temp_arena temp)$/;" f typeref:typename:internal void
229temp_breakpoint source/base/base.h /^#define temp_breakpoint /;" d 264temp_breakpoint source/base/base.h /^#define temp_breakpoint /;" d
230test source/base/base_test.h /^#define test(/;" d 265test source/base/base_test.h /^#define test(/;" d
231token source/engine/engine_lexer.h /^struct token$/;" s 266token source/lexer/lexer.h /^struct token$/;" s
232token source/engine/engine_lexer.h /^typedef struct token token;$/;" t typeref:struct:token 267token source/lexer/lexer.h /^typedef struct token token;$/;" t typeref:struct:token
233token_type source/engine/engine_lexer.h /^enum token_type$/;" g 268token_type source/lexer/lexer.h /^enum token_type$/;" g
234token_type source/engine/engine_lexer.h /^typedef enum token_type token_type;$/;" t typeref:enum:token_type 269token_type source/lexer/lexer.h /^typedef enum token_type token_type;$/;" t typeref:enum:token_type
235tokenize source/engine/engine_lexer.c /^tokenize(string8 buffer)$/;" f typeref:typename:internal token * 270tokenize_csv source/lexer/lexer.c /^tokenize_csv(string8 buffer)$/;" f typeref:typename:internal token *
236type source/engine/engine_lexer.h /^ token_type type;$/;" m struct:token typeref:typename:token_type 271type source/lexer/lexer.h /^ token_type type;$/;" m struct:token typeref:typename:token_type
237u16 source/base/base.h /^typedef uint16_t u16;$/;" t typeref:typename:uint16_t 272u16 source/base/base.h /^typedef uint16_t u16;$/;" t typeref:typename:uint16_t
238u32 source/base/base.h /^typedef uint32_t u32;$/;" t typeref:typename:uint32_t 273u32 source/base/base.h /^typedef uint32_t u32;$/;" t typeref:typename:uint32_t
239u64 source/base/base.h /^typedef uint64_t u64;$/;" t typeref:typename:uint64_t 274u64 source/base/base.h /^typedef uint64_t u64;$/;" t typeref:typename:uint64_t