"Last" pass bug correction
This commit is contained in:
parent
35bce1d5e8
commit
b942f456ed
1 changed files with 7 additions and 6 deletions
|
@ -62,20 +62,21 @@ let edesc _ env ed = match ed with
|
|||
|
||||
let block funs env b =
|
||||
let eq_list, env, vd_list = extend_env env b.b_equs b.b_local b.b_local in
|
||||
let b = { b with b_local = vd_list;
|
||||
b_equs = eq_list } in
|
||||
let b, _ = Hept_mapfold.block funs env b in
|
||||
{ b with b_local = vd_list;
|
||||
b_equs = eq_list },
|
||||
env
|
||||
b, env
|
||||
|
||||
let node_dec funs _ n =
|
||||
Idents.enter_node n.n_name;
|
||||
let { n_block } = n in
|
||||
let _, env, _ = extend_env Env.empty [] [] n.n_input in
|
||||
let eq_list, env, vd_list = extend_env env n_block.b_equs n_block.b_local n.n_output in
|
||||
let n = { n with n_block =
|
||||
{ n_block with b_local = vd_list;
|
||||
b_equs = eq_list } } in
|
||||
let n, _ = Hept_mapfold.node_dec funs env n in
|
||||
{ n with n_block =
|
||||
{ n_block with b_local = vd_list;
|
||||
b_equs = eq_list } }, env
|
||||
n, env
|
||||
|
||||
let program p =
|
||||
let funs = { Hept_mapfold.defaults with
|
||||
|
|
Loading…
Reference in a new issue