]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_disambiguation/cicTextualLexer2.ml
ported location handling to camlp4 3.08
[helm.git] / helm / ocaml / cic_disambiguation / cicTextualLexer2.ml
index 22c911eaf5b543e16bb7b1a35d21b3a758eee43c..ba70d2745c8f73126733eff03c32664e15a1fc75 100644 (file)
@@ -58,7 +58,15 @@ let error lexbuf msg =
 let error_at_end lexbuf msg =
   raise (Error (Ulexing.lexeme_end lexbuf, Ulexing.lexeme_end lexbuf, msg))
 
-let return lexbuf token = (token, Ulexing.loc lexbuf)
+let return lexbuf token =
+  let flocation_begin =
+    { Lexing.pos_fname = ""; Lexing.pos_lnum = -1; Lexing.pos_bol = -1;
+      Lexing.pos_cnum = Ulexing.lexeme_start lexbuf }
+  in
+  let flocation_end =
+    { flocation_begin with Lexing.pos_cnum = Ulexing.lexeme_end lexbuf }
+  in
+  (token, (flocation_begin, flocation_end))
 
 (*
 let parse_ext_ident ident =
@@ -119,7 +127,7 @@ let rec token = lexer
 
 let tok_func stream =
   let lexbuf = Ulexing.from_utf8_stream stream in
-  Token.make_stream_and_location
+  Token.make_stream_and_flocation
     (fun () ->
       try
        token lexbuf