ソースを参照

handle global variables and addition

master
Ian Piumarta 3ヶ月前
コミット
857a621179
1個のファイルの変更6行の追加2行の削除
  1. +6
    -2
      main.leg

+ 6
- 2
main.leg ファイルの表示

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

読み込み中…
キャンセル
保存