Global Variables
global-storage

Add global variable storage to the interpreter:

var global_names: [256][]const u8 = undefined;
var global_values: [256]i64 = undefined;
var num_globals: usize = 0;
var in_function: bool = false;

Write setGlobal(name, val) and getGlobal(name):

fn setGlobal(name: []const u8, val: i64) void {
    for (0..num_globals) |i| {
        if (streq(global_names[i], name)) {
            global_values[i] = val;
            return;
        }
    }
    global_names[num_globals] = name;
    global_values[num_globals] = val;
    num_globals += 1;
}

fn getGlobal(name: []const u8) i64 {
    for (0..num_globals) |i| {
        if (streq(global_names[i], name)) {
            return global_values[i];
        }
    }
    return 0;
}