43 |
| SOME(S.E_Cons ys) => mkStatics (env, statics, ys) |
| SOME(S.E_Cons ys) => mkStatics (env, statics, ys) |
44 |
| SOME(S.E_Input(_, _, SOME y)) => mkStatic (env, statics, y) |
| SOME(S.E_Input(_, _, SOME y)) => mkStatic (env, statics, y) |
45 |
| SOME _ => statics |
| SOME _ => statics |
46 |
| NONE => raise Fail(concat["variable ", Var.uniqueNameOf x, " has no binding"]) |
| NONE => raise Fail(concat[ |
47 |
|
"variable ", Var.uniqueNameOf x, " has no binding" |
48 |
|
]) |
49 |
(* end case *) |
(* end case *) |
50 |
end |
end |
51 |
and mkStatics (env, statics, xs) = |
and mkStatics (env, statics, xs) = |
77 |
val statics2 = doBlock (env, statics, b2) |
val statics2 = doBlock (env, statics, b2) |
78 |
val n = VSet.numItems statics |
val n = VSet.numItems statics |
79 |
in |
in |
80 |
if ((n <> VSet.numItems statics1) orelse (n <> VSet.numItems statics2)) |
if ((n <> VSet.numItems statics1) |
81 |
|
orelse (n <> VSet.numItems statics2)) |
82 |
then (env, mkStatic(env, statics, x)) |
then (env, mkStatic(env, statics, x)) |
83 |
else (env, statics) |
else (env, statics) |
84 |
end |
end |