end
end else (* todo_code *) begin fun empty_slot sl1 sl2 tree node ->
let sl = choose_slot empty_slot sl1 sl2 in
end
end else (* todo_code *) begin fun empty_slot sl1 sl2 tree node ->
let sl = choose_slot empty_slot sl1 sl2 in
U.exec sl sl1 sl2 node code;
List.fold_left
(fun ares (p, q, code) ->
U.exec sl sl1 sl2 node code;
List.fold_left
(fun ares (p, q, code) ->
| L2JIT.LEFT (tr_list, instr) ->
let res1, slot1 =
l2jit_dispatch_instr t (Tree.closing tree t) instr
| L2JIT.LEFT (tr_list, instr) ->
let res1, slot1 =
l2jit_dispatch_instr t (Tree.closing tree t) instr
let nil_res = auto.bottom_states, empty_slot in
let cache = Cache.Lvl3.create 0 L3JIT.dummy in
let rec move_up node res is_left rest stop =
let nil_res = auto.bottom_states, empty_slot in
let cache = Cache.Lvl3.create 0 L3JIT.dummy in
let rec move_up node res is_left rest stop =
if node == stop then res, rest
else
(*let prev_sibling = Tree.prev_sibling tree node in *)
if node == stop then res, rest
else
(*let prev_sibling = Tree.prev_sibling tree node in *)