Kaynağa Gözat

handle global variables and addition

master
Ian Piumarta 3 ay önce
ebeveyn
işleme
857a621179
1 değiştirilmiş dosya ile 6 ekleme ve 2 silme
  1. +6
    -2
      main.leg

+ 6
- 2
main.leg Dosyayı Görüntüle

@ -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");

Yükleniyor…
İptal
Kaydet