- let l_js = List.filter (fun (i, _) -> List.mem i i_s) (g' @+ [loc]) in
- new_stack
- ((l_js, [], [],`BranchTag)
- :: ([ loc ] @+ g' @- l_js, t', k', tag) :: s)
- | Pos i_s, (g, t, k,`BranchTag) :: (g', t', k', tag) :: s ->
- let l_js = List.filter (fun (i, pos) -> List.mem i i_s) g' in
- new_stack
- ((l_js, [], [],`BranchTag)
- :: (g' @- l_js, t' @+ filter_open g, k', tag) :: s)
-(*
- | Pos i_s, ([ loc ], [], [],`BranchTag) :: (g', t', k', tag) :: s
- when is_fresh loc ->
- let l_js = List.filter (fun (i, _) -> List.mem i i_s) g' in
- new_stack
- ((l_js, [], [],`BranchTag)
- :: ([ loc ] @+ g' @- l_js, t', k', tag) :: s)
- | Pos i_s, (g, t, k,`BranchTag) :: (g', t', k', tag) :: s ->
- let l_js = List.filter (fun (i, _) -> List.mem i i_s) g' in