match magic with
| Ast.List0 (_, None) -> Gramext.Slist0 s
| Ast.List1 (_, None) -> Gramext.Slist1 s
- | Ast.List0 (_, Some l) -> Gramext.Slist0sep (s, gram_of_literal l, false)
- | Ast.List1 (_, Some l) -> Gramext.Slist1sep (s, gram_of_literal l, false)
+ | Ast.List0 (_, Some l) -> Gramext.Slist0sep (s, gram_of_literal l,false)
+ | Ast.List1 (_, Some l) -> Gramext.Slist1sep (s, gram_of_literal l,false)
| _ -> assert false
in
[ Env (List.map Env.list_declaration p_names),
| [],[] -> 0
| [],_ -> ~-1
| _,[] -> 1
- | ((s1::tl1) ),((s2::tl2) ) ->
+ | ((s1::tl1) as x),((s2::tl2) as y) ->
if Gramext.eq_symbol s1 s2 then aux (tl1,tl2)
- else
- let res =
- try Pervasives.compare s1 s2
- with Invalid_argument _ -> 0
- in
- if res = 0 then aux (tl1, tl2) else res
+ else Pervasives.compare x y
in
aux (x,y)