--- source: src/compiler/program.rs description: "intermediate representation of the program\n \\0 refers to global variable at index 0\n $0 refers to local variable at index 0\n " expression: program_as_str --- ---- const : idx->value ---- 0->from global 1->world 2->echo 3->hello ---- expressions: idx->value ---- 0->$0 $1 1->\0 ---- name to var: name->idx ---- GLOB1->0 ---- funcs: idx->name->fn(nbr_args, nbr_instructions, defaults): body ---- 0->__init_global_vars__->fn(0,1,[]): glob(0) = const<0> 1->fn1_opt->fn(2,3,[1]): loc(0) = arg<1> loc(1) = arg<2> cmd_const<2>(expr<0>,expr<1>) 2->main->fn(0,1,[]): cmd_const<2>(const<3>)