#no_reset directive

When a program is compiled, #run directives can access and modify globals. By default, global variables will be reset back to the original default values when outputting the executable. The #no_reset tells the compiler to allow #run directives modify the executable.

#no_reset array: [4] int;

#run {
  array[0] = 1;
  array[1] = 2;
  array[2] = 3;
  array[3] = 4;
}

print("%\n", array); // at runtime, array = [1,2,3,4] with the #no_reset directive