let lookup_location p = let rec iter = function [] -> assert false | (pos, loc) :: tl -> if p >= pos then loc else iter tl in iter !lno_table