diff --git a/simple-utils/pos.ml b/simple-utils/pos.ml index b4475aa6e..dea23140a 100644 --- a/simple-utils/pos.ml +++ b/simple-utils/pos.ml @@ -119,6 +119,11 @@ let make ~byte ~point_num ~point_bol = (if offsets then self#offset mode else self#column mode) end +let from_byte byte = + let point_num = byte.Lexing.pos_cnum + and point_bol = byte.Lexing.pos_bol + in make ~byte ~point_num ~point_bol + let ghost = make ~byte:Lexing.dummy_pos ~point_num:(-1) ~point_bol:(-1) let min = diff --git a/simple-utils/pos.mli b/simple-utils/pos.mli index 998ea9b62..77c259724 100644 --- a/simple-utils/pos.mli +++ b/simple-utils/pos.mli @@ -94,7 +94,8 @@ type pos = t (* Constructors *) -val make : byte:Lexing.position -> point_num:int -> point_bol:int -> t +val make : byte:Lexing.position -> point_num:int -> point_bol:int -> t +val from_byte : Lexing.position -> t (* Special positions *)