Put vm in bss
This actually saves executable space by reducing the amount of code,
even though BcVm is a large piece of data.
diff --git a/src/lex.c b/src/lex.c
index 98e2c62..e71f4d6 100644
--- a/src/lex.c
+++ b/src/lex.c
@@ -203,7 +203,7 @@
void bc_lex_file(BcLex *l, const char *file) {
assert(l != NULL && file != NULL);
l->line = 1;
- vm->file = file;
+ vm.file = file;
}
BcStatus bc_lex_next(BcLex *l) {
@@ -224,7 +224,7 @@
// Loop until failure or we don't have whitespace. This
// is so the parser doesn't get inundated with whitespace.
do {
- s = vm->next(l);
+ s = vm.next(l);
} while (BC_NO_ERR(!s) && l->t == BC_LEX_WHITESPACE);
return s;