]> matita.cs.unibo.it Git - helm.git/commitdiff
add dump of position information in the lexed file
authorStefano Zacchiroli <zack@upsilon.cc>
Mon, 26 Nov 2007 15:30:52 +0000 (15:30 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Mon, 26 Nov 2007 15:30:52 +0000 (15:30 +0000)
helm/software/components/content_pres/test_lexer.ml

index b032d7f61d7b5d6c3d3394fef80431baf151f0ef..393017a443416d9086949863f068a88ef11e69a6 100644 (file)
@@ -44,14 +44,17 @@ let _ =
          prerr_endline (Printf.sprintf "Unsupported level %s" l);
          exit 2
   in
-  let token_stream =
-    fst (lexer.Token.tok_func (Obj.magic (Ulexing.from_utf8_channel !ic)))
-  in
+  let token_stream, loc_func =
+    lexer.Token.tok_func (Obj.magic (Ulexing.from_utf8_channel !ic)) in
   Printf.printf "Lexing notation level %s\n" !level; flush stdout;
+  let tok_count = ref 0 in
   let rec dump () =
     let (a,b) = Stream.next token_stream in
     if a = "EOI" then raise Stream.Failure;
-    print_endline (Printf.sprintf "%s '%s'" a b);
+    let pos = loc_func !tok_count in
+    print_endline (Printf.sprintf "%s '%s' (@ %d-%d)" a b
+      (Ploc.first_pos pos) (Ploc.last_pos pos));
+    incr tok_count;
     dump ()
   in
   try