]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_transformations/cicAst.ml
snapshot (first version in which some extensions work, e.g. infix +)
[helm.git] / helm / ocaml / cic_transformations / cicAst.ml
index 3991813726766008222b5e08a33227a36117dd99..ca48567863aa8d9c88ebf6eba9aa986db55c1fae 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
+open Printf
+
 type location = Lexing.position * Lexing.position
 
+let pp_location (loc_begin, loc_end) =
+  let c_begin = loc_begin.Lexing.pos_cnum - loc_begin.Lexing.pos_bol in
+  let c_end = loc_end.Lexing.pos_cnum - loc_end.Lexing.pos_bol in
+  if loc_begin.Lexing.pos_lnum = -1 || loc_end.Lexing.pos_lnum = -1 then
+      sprintf "%d-%d" c_begin c_end
+    else
+      sprintf "(%d,%d)-(%d,%d)" loc_begin.Lexing.pos_lnum c_begin
+        loc_end.Lexing.pos_lnum c_end
+
 let floc_of_loc (loc_begin, loc_end) =
   let floc_begin =
     { Lexing.pos_fname = ""; Lexing.pos_lnum = -1; Lexing.pos_bol = -1;