module HG = Http_getter;;
module HGM = Http_getter_misc;;
module UM = UriManager;;
-module TA = TacticAst;;
+module TA = GrafiteAst;;
let baseuri_of_baseuri_decl st =
- let module TA = TacticAst in
match st with
| TA.Executable (_, TA.Command (_, TA.Set (_, "baseuri", buri))) ->
Some buri
uri_to_remove, depend
let baseuri_of_file file =
+ let uri = ref None in
let ic = open_in file in
- let stms = CicTextualParser2.parse_statements (Stream.of_channel ic) in
- close_in ic;
- let uri = ref "" in
- List.iter
- (fun stm ->
+ let istream = Stream.of_channel ic in
+ (try
+ while true do
+ let stm = GrafiteParser.parse_statement istream in
match baseuri_of_baseuri_decl stm with
| Some buri ->
let u = MatitaMisc.strip_trailing_slash buri in
| HGT.Unresolvable_URI _ ->
MatitaLog.error (file ^ " sets an unresolvable baseuri: "^buri)
| HGT.Key_not_found _ -> ());
- uri := u
- | None -> ())
- stms;
- !uri
+ uri := Some u;
+ raise End_of_file
+ | None -> ()
+ done
+ with End_of_file -> close_in ic);
+ match !uri with
+ | Some uri -> uri
+ | None -> failwith ("No baseuri defined in " ^ file)
let rec fix uris next =
match next with