From 7eba2dfda86238cb0941edfd7aafb09f566c36d8 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Mon, 25 Mar 2019 17:31:55 +0100 Subject: [parser] initialization based on Loc.t rather than Loc.source In this way one can also set the current offsets in a file, useful if you are parsing a Coq fragment within a file instead of a full file starting from the first line. --- gramlib/grammar.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gramlib/grammar.ml') diff --git a/gramlib/grammar.ml b/gramlib/grammar.ml index f46ddffd6e..74350c4f15 100644 --- a/gramlib/grammar.ml +++ b/gramlib/grammar.ml @@ -15,7 +15,7 @@ module type S = sig type te type parsable - val parsable : char Stream.t -> parsable + val parsable : ?loc:Loc.t -> char Stream.t -> parsable val tokens : string -> (string * int) list module Entry : sig @@ -1398,8 +1398,8 @@ let clear_entry e = Dlevels _ -> e.edesc <- Dlevels [] | Dparser _ -> () - let parsable cs = - let (ts, lf) = L.lexer.Plexing.tok_func cs in + let parsable ?loc cs = + let (ts, lf) = L.lexer.Plexing.tok_func ?loc cs in {pa_chr_strm = cs; pa_tok_strm = ts; pa_loc_func = lf} module Entry = struct -- cgit v1.2.3