From b69e838bec0d89df643bbbdd6451760770c659e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Wed, 15 May 2019 16:04:09 +0200 Subject: [PATCH] Extended lib_utils/pos.ml{i}. First import of Ligodity. (No "simplify" yet.) --- simple-utils/pos.ml | 5 +++++ simple-utils/pos.mli | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 *)