Variables
variable-storage

Add variable storage: two parallel arrays for names and values, a counter, getVar and setVar.

var var_names: [256][]const u8 = undefined;
var var_values: [256]i64 = undefined;
var num_vars: usize = 0;

fn getVar(name: []const u8) i64 {
    var i: usize = num_vars;
    while (i > 0) {
        i -= 1;
        if (streq(var_names[i], name)) {
            return var_values[i];
        }
    }
    return 0;
}

fn setVar(name: []const u8, val: i64) void {
    for (0..num_vars) |i| {
        if (streq(var_names[i], name)) {
            var_values[i] = val;
            return;
        }
    }
    var_names[num_vars] = name;
    var_values[num_vars] = val;
    num_vars += 1;
}