(* AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
*)
+(* $Id$ *)
+
module U = MQueryUtil
type pg_map = (MathQL.path * (bool * string * string option)) list
type pg_alias = (string * string) list
-let empty_map () = "", [], []
+let empty_map () = [], []
let read_map () =
- let default_map = "mathql_db_map.txt" in
- let map =
- try Sys.getenv "MATHQL_DB_MAP"
- with Not_found -> default_map
- in
+ let map = Helm_registry.get "mathql_interpreter.db_map" in
let ich = open_in map in
- let pgs = input_line ich in
let rec aux r s =
let d = input_line ich in
match Str.split (Str.regexp "[ \t]+") d with
| [] -> aux r s
+ | "#" :: _ -> aux r s
| t :: "<-" :: p -> aux ((p, (false, t, None)) :: r) s
| t :: c :: "<-" :: p -> aux ((p, (false, t, Some c)) :: r) s
+ | t :: "<+" :: p -> aux ((p, (true, t, None)) :: r) s
| t :: c :: "<+" :: p -> aux ((p, (true, t, Some c)) :: r) s
| [a; "->"; t] -> aux r ((a, t) :: s)
| ["->"] -> r, s
in
let pgm, pga = aux [] [] in
close_in ich;
- pgs, pgm, pga
+ pgm, pga
let comp c1 c2 = match c1, c2 with
| (_, t1), (_, t2) when t1 < t2 -> U.Lt