| [],[] -> 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 d = List.length tl1 - List.length tl2 in
- if d <> 0 then d else 1 (* bad and broken *)
+ else Pervasives.compare x y
in
aux (x,y)