|
|
@ -1,6 +1,6 @@ |
|
|
|
# main.leg -- C parser + interpreter |
|
|
|
# |
|
|
|
# Last edited: 2025-01-22 15:05:59 by piumarta on zora |
|
|
|
# Last edited: 2025-01-22 15:10:04 by piumarta on zora |
|
|
|
|
|
|
|
%{ |
|
|
|
; |
|
|
@ -1943,7 +1943,11 @@ oop preval(oop exp) |
|
|
|
case Tfunction: assert(!"this cannot happen"); |
|
|
|
case VarDecls: { |
|
|
|
oop vars = get(exp, VarDecls,variables); |
|
|
|
Array_do(vars, var) assert(Scope_lookup(get(var, Variable,name))); |
|
|
|
Array_do(vars, var) { |
|
|
|
assert(Scope_lookup(get(var, Variable,name))); |
|
|
|
oop init = get(var, Variable,value); |
|
|
|
if (!isNil(init)) set(var, Variable,value, preval(init)); |
|
|
|
} |
|
|
|
return nil; |
|
|
|
} |
|
|
|
case Scope: assert(!"this cannot happen"); |
|
|
|